summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/closure_use_trailing_comma.phpt17
-rw-r--r--Zend/zend_language_parser.y2
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: