Dmitry On Wed, Feb 25, 2015 at 10:20 AM, Dmitry Stogov <dmi...@zend.com> wrote: > > > On Wed, Feb 25, 2015 at 6:06 PM, Anthony Ferrara <ircmax...@gmail.com> > wrote: >> >> Dmitry: >> >> On Wed, Feb 25, 2015 at 7:55 AM, Dmitry Stogov <dmi...@zend.com> wrote: >> > On Wed, Feb 25, 2015 at 2:42 PM, Niktia Nefedov <inefe...@gmail.com> >> > wrote: >> > >> >> On Wed, 25 Feb 2015 16:30:32 +0400, Dmitry Stogov <dmi...@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.
Looking at that code, even not knowing this RFC and the details of the implementation, what would you expect to be different about it? Now, having read the RFC and played with the patch (even though you admitted that you didn't), what would you expect to be different? Anthony -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php