diff options
-rw-r--r-- | Zend/tests/closure_use_trailing_comma.phpt | 17 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 2 |
2 files changed, 18 insertions, 1 deletions
diff --git a/Zend/tests/closure_use_trailing_comma.phpt b/Zend/tests/closure_use_trailing_comma.phpt new file mode 100644 index 0000000000..7bf6e5ce88 --- /dev/null +++ b/Zend/tests/closure_use_trailing_comma.phpt @@ -0,0 +1,17 @@ +--TEST-- +Closure use list can have trailing commas +--FILE-- +<?php + +$b = 'test'; +$fn = function () use ( + $b, + &$a, +) { + $a = $b; +}; +$fn(); +echo "$a\n"; +?> +--EXPECT-- +test diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 40938256f2..891624c461 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -1155,7 +1155,7 @@ returns_ref: lexical_vars: %empty { $$ = NULL; } - | T_USE '(' lexical_var_list ')' { $$ = $3; } + | T_USE '(' lexical_var_list possible_comma ')' { $$ = $3; } ; lexical_var_list: |