Re: [php-src] PR #20903: GH-10497 (const obj->prop write) - language change notes

From: Date: Sun, 18 Jan 2026 12:28:22 +0000
Subject: Re: [php-src] PR #20903: GH-10497 (const obj->prop write) - language change notes
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-129779@lists.php.net to get a copy of this message
Hi On 1/15/26 07:36, Khaled Alam wrote:
    A potentially surprising case: some newly-valid writes can be a no-op
    when they target a temporary const value, e.g.
    - const X = [1,2,3];  X[] = 4;
       - const Y = ['a' => 1];  Y['b'] = 2;
These become valid syntax but have no effect because the write happens on a temporary basis. Feedback on semantics + expected behavior for the temporary-write case is appreciated.
This is too unexpected / error-prone for me. Trying to write into arrays should remain disallowed / an Error, since this is never (?) useful. For objects, I don't have a strong opinion, but I expect objects in constants to be so rare that it probably isn't worth it to make a change at all. Best regards Tim Düsterhus

« previous php.internals (#129779) next »