I too get Dmitry's result. As the left hand side is an error-zval, and the right hand is null, it explodes. Yes, the hackish way I try and resolve things was to check opcodes around the current one, which I should have thought in the case of addition wouldn't have been valid. The entire goal of the RFC was to prevent warning for obvious results (as it specifies on long string of accesses). One, thought about and ignored by me, aspect to the RFC was the concept of a null entity. Wherein any array access on null would result with null. I believe this could result in resolving many of the headaches I'm attempting to resolve by managing a null-return from array access as a literal null, or unknown cast to null.
On Wed, Aug 31, 2016 at 4:36 AM Christoph M. Becker <cmbecke...@gmx.de> wrote: > On 31.08.2016 at 12:10, Dmitry Stogov wrote: > > > no. if you would try the proposed PR with this code, you would see: > > > > > > Fatal error: Uncaught Error: Unsupported operand types > > I get the following behavior against PR #1269: > > $ sapi/cli/php -n -d error_reporting=-1 -r "\$a = [null]; \$c = null; > var_dump(\$a[0][0] + \$c[0]);" > > Notice: Trying to get index of a non-array in Command line code on line 1 > > Notice: Trying to get index of a non-array in Command line code on line 1 > int(0) > > Cheers! > > > ________________________________ > > From: Marco Pivetta <ocram...@gmail.com> > > Sent: Wednesday, August 31, 2016 10:10:23 AM > > To: Dmitry Stogov > > Cc: Christoph M. Becker; PHP Internals List; Nikita Popov; David Walker > > Subject: Re: [PHP-DEV] Re: [RFC][VOTE] E_WARNING on invalid container > read-adccess > > > > > > Hi Dmitry, > > > > On 31 Aug 2016 8:37 a.m., "Dmitry Stogov" <dmi...@zend.com<mailto: > dmi...@zend.com>> wrote: > >> > >> I vote NO, because the implementation introduces more problems than > intents to fix. > >> > >> For example the following code starts to throw exception: > >> > >> > >> <?php $a = [null]; $c = null; var_dump($a[0][0] + $c[0]); ?> > > > > Isn't that the point of this RFC? > > I would expect this code to only ever work by accident. > > >