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: Generator::current()/::key() string-concat nested operand — returns true not yielded value (Zend/zend_generators.c) #13899
stdlib / language · php-src-strict · regression (nested operand in string concatenation)
Problem
After advancing a generator with next(), Generator::current() and Generator::key() must return the yielded value and integer key. When either method is a nested operand inside string concatenation with var_export(..., true), the VM returns true instead of the value/key.
Standalone method calls work; dot-concat form fails. Same failure class as pointer builtins (#13830next(), closed #13811prev()).
Status: Repro was already green on master — root fix is #13910 (siblingMethodCallFeedsVarExportConsumer for hoisted MethodCall siblings in var_export concat). This PR adds maintainer repro scripts + PHPUnit guards.
Activity
PurHur commentedon Jun 30, 2026
Maintainer run 2026-06-30: added committed repro scripts referenced in this issue body:
test/repro/maintainer_gap_generator_current_concat_simple.php— FAIL (val=true, expectedval=30)test/repro/maintainer_gap_generator_key_concat.php— PASS on current master (key concat path may differ from current())Verified:
Sibling pointer-builtin concat regressions filed/tracked: #13903 (
prev), #13912 (next, re-#13830).PurHur commentedon Jun 30, 2026
claim: cursor-agent-lane-a — batch (issues #13899)
Add Generator concat regression guards for #13899. (#13944)
PurHur commentedon Jun 30, 2026
Merged via #13944.
Status: Repro was already green on master — root fix is #13910 (
siblingMethodCallFeedsVarExportConsumerfor hoisted MethodCall siblings invar_exportconcat). This PR adds maintainer repro scripts + PHPUnit guards.Verification: