Re: [php-src] PR #20903: GH-10497 (const obj->prop write) - language change notes
| From: | Tim Düsterhus | 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