You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: next() string-concat nested operand — returns false not element (re-#13830, ext/standard/array.c) #13912
stdlib · php-src-strict · regression (nested operand in string concatenation)
Problem
After advancing an array internal pointer with next(), a second next($a) as a nested operand inside string concatenation with var_export(..., true) returns false instead of the element value. Standalone next($a) returns the correct value.
Same failure class as #13903 (prev() concat, re-#13811) and #13899 (Generator::current() concat). #13830 was closed 2026-06-30 but repro still fails on master.
Root cause fixed in #13916 / #13917 (compiler firstSiblingInlineFuncCallProducerIndex). Repro test/repro/maintainer_gap_next_concat_operand.php exits 0 on master after merge.
Activity
Fix duplicate callee sibling chain for var_export concat operands (#1…
PurHur commentedon Jun 30, 2026
Root cause fixed in #13916 / #13917 (compiler
firstSiblingInlineFuncCallProducerIndex). Reprotest/repro/maintainer_gap_next_concat_operand.phpexits 0 on master after merge.Add prev() concat operand repro and PHPUnit guard (#13903). (#13922)
PurHur commentedon Jun 30, 2026
Verified on master (2026-06-30):
php bin/vm.php test/repro/maintainer_gap_next_concat_operand.php→ ok;testVarExportNestedNextUsesFuncCallProducerSlotgreen. Compiler fix viastatementLevelFuncCallBeforeHoistedSiblingChain. Closing candidate — sibling #13903 guard merged #13922.PurHur commentedon Jun 30, 2026
Verified on master 2026-06-30:
php bin/vm.php test/repro/maintainer_gap_next_concat_operand.php→ ok (exit 0). Fixed via #13916/#13917 compiler sibling-call producer slot. Closing.