Re: Re: [RFC-Discuss] Scalar Type Declarations v0.5

From: Date: Wed, 25 Feb 2015 15:20:29 +0000
Subject: Re: Re: [RFC-Discuss] Scalar Type Declarations v0.5
References: 1 2 3 4 5 6 7 8 9  Groups: php.internals 
Request: Send a blank email to internals+get-83796@lists.php.net to get a copy of this message
On Wed, Feb 25, 2015 at 6:06 PM, Anthony Ferrara <ircmaxell@gmail.com> wrote: > Dmitry: > > On Wed, Feb 25, 2015 at 7:55 AM, Dmitry Stogov <dmitry@zend.com> wrote: > > On Wed, Feb 25, 2015 at 2:42 PM, Niktia Nefedov <inefedor@gmail.com> > wrote: > > > >> On Wed, 25 Feb 2015 16:30:32 +0400, Dmitry Stogov <dmitry@zend.com> > wrote: > >> > >> anyone may tell, what this will print without running :) > >>> > >>> main.php > >>> ======== > >>> <?php > >>> declare(strict_types=1) > >>> include "a.php"; > >>> include "b.php"; > >>> var_dump(foo("5")); > >>> ?> > >>> > >>> a.php > >>> ===== > >>> <?php > >>> declare(strict_types=0) > >>> function foo(string $a): string { > >>> bar($a); > >>> return $a; > >>> } > >>> ?> > >>> > >>> b.php > >>> ===== > >>> <?php > >>> declare(strict_types=1) > >>> function bar(int &$a) { > >>> var_dump($a); > >>> } > >>> ?> > >>> > >>> Thank. Dmitry. > >>> > >> > >> > >> Hi Dmitry, > >> > >> This will error out because $a in the scope of foo > >> will be coerced to > >> int type when passed to bar by reference. > >> > > > > I think it'll work without errors and produce some explainable but weird > > output. I didn't run it myself yet. > > "Weird"? > > int(5) > string(1) "5" > > How is that weird? That's precisely what you asked it to do. > I just think that not allbody understand this and expect something different. Thanks. Dmitry.

« previous php.internals (#83796) next »