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 31
31
--EXPECT--
32
32
string(36) "Cannot use string offset as an array"
33
33
string(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 "
35
35
string(41) "Cannot increment/decrement string offsets"
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ echo 'done';
14
14
--EXPECTF--
15
15
Warning: Illegal string offset "2bbb" in %s on line %d
16
16
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
18
18
Stack trace:
19
19
#0 {main}
20
20
thrown in %sbug73792.php on line 4
Original file line number Diff line number Diff line change @@ -8,6 +8,11 @@ function &test() : string {
8
8
return $ str [0 ];
9
9
}
10
10
11
+ function &gen () {
12
+ $ str = "foo " ;
13
+ yield $ str [0 ];
14
+ }
15
+
11
16
try {
12
17
test ();
13
18
} catch (Error $ e ) {
21
26
echo $ e ->getMessage (), "\n" ;
22
27
}
23
28
29
+ try {
30
+ foreach (gen () as $ v ) {}
31
+ } catch (Error $ e ) {
32
+ echo $ e ->getMessage (), "\n" ;
33
+ }
34
+
24
35
?>
25
36
--EXPECT--
26
- Cannot return string offsets by reference
37
+ Cannot create references to/from string offsets
38
+ Cannot create references to/from string offsets
27
39
Cannot 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)
1585
1585
case ZEND_ADD_ARRAY_ELEMENT :
1586
1586
case ZEND_INIT_ARRAY :
1587
1587
case ZEND_MAKE_REF :
1588
- msg = "Cannot create references to/from string offsets" ;
1589
- break ;
1590
1588
case ZEND_RETURN_BY_REF :
1591
1589
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 ;
1597
1590
case ZEND_YIELD :
1598
- msg = "Cannot yield string offsets by reference" ;
1599
- break ;
1600
1591
case ZEND_SEND_REF :
1601
1592
case ZEND_SEND_VAR_EX :
1602
1593
case ZEND_SEND_FUNC_ARG :
1603
- msg = "Only variables can be passed by reference" ;
1604
- break ;
1605
1594
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" ;
1607
1599
break ;
1608
1600
EMPTY_SWITCH_DEFAULT_CASE ();
1609
1601
}
You can’t perform that action at this time.
0 commit comments