File tree Expand file tree Collapse file tree 4 files changed +19
-15
lines changed
Expand file tree Collapse file tree 4 files changed +19
-15
lines changed Original file line number Diff line number Diff line change 3131--EXPECT--
3232string(36) "Cannot use string offset as an array"
3333string(27) "Cannot unset string offsets"
34- string(41 ) "Only variables can be passed by reference "
34+ string(47 ) "Cannot create references to/from string offsets "
3535string(41) "Cannot increment/decrement string offsets"
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ echo 'done';
1414--EXPECTF--
1515Warning: Illegal string offset "2bbb" in %s on line %d
1616
17- Fatal error: Uncaught Error: Cannot iterate on string offsets by reference in %sbug73792.php:4
17+ Fatal error: Uncaught Error: Cannot create references to/from string offsets in %s:%d
1818Stack trace:
1919#0 {main}
2020 thrown in %sbug73792.php on line 4
Original file line number Diff line number Diff line change @@ -8,6 +8,11 @@ function &test() : string {
88 return $ str [0 ];
99}
1010
11+ function &gen () {
12+ $ str = "foo " ;
13+ yield $ str [0 ];
14+ }
15+
1116try {
1217 test ();
1318} catch (Error $ e ) {
2126 echo $ e ->getMessage (), "\n" ;
2227}
2328
29+ try {
30+ foreach (gen () as $ v ) {}
31+ } catch (Error $ e ) {
32+ echo $ e ->getMessage (), "\n" ;
33+ }
34+
2435?>
2536--EXPECT--
26- Cannot return string offsets by reference
37+ Cannot create references to/from string offsets
38+ Cannot create references to/from string offsets
2739Cannot create references to/from string offsets
Original file line number Diff line number Diff line change @@ -1585,25 +1585,17 @@ ZEND_API ZEND_COLD void zend_wrong_string_offset_error(void)
15851585 case ZEND_ADD_ARRAY_ELEMENT :
15861586 case ZEND_INIT_ARRAY :
15871587 case ZEND_MAKE_REF :
1588- msg = "Cannot create references to/from string offsets" ;
1589- break ;
15901588 case ZEND_RETURN_BY_REF :
15911589 case ZEND_VERIFY_RETURN_TYPE :
1592- msg = "Cannot return string offsets by reference" ;
1593- break ;
1594- case ZEND_UNSET_DIM :
1595- msg = "Cannot unset string offsets" ;
1596- break ;
15971590 case ZEND_YIELD :
1598- msg = "Cannot yield string offsets by reference" ;
1599- break ;
16001591 case ZEND_SEND_REF :
16011592 case ZEND_SEND_VAR_EX :
16021593 case ZEND_SEND_FUNC_ARG :
1603- msg = "Only variables can be passed by reference" ;
1604- break ;
16051594 case ZEND_FE_RESET_RW :
1606- msg = "Cannot iterate on string offsets by reference" ;
1595+ msg = "Cannot create references to/from string offsets" ;
1596+ break ;
1597+ case ZEND_UNSET_DIM :
1598+ msg = "Cannot unset string offsets" ;
16071599 break ;
16081600 EMPTY_SWITCH_DEFAULT_CASE ();
16091601 }
You can’t perform that action at this time.
0 commit comments