From 4cf8b6f1c9090a75d9012701699f7c363bd7b7a7 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 1 Jul 2020 13:28:39 -0400 Subject: [PATCH] Support optional comma in closure use list RFC: https://wiki.php.net/rfc/trailing_comma_in_closure_use_list Discussion: https://externals.io/message/110715 The release manager has agreed to allow merging of RFCs that have near-unanimous votes. If an RFC ends up not achieving the required 2/3 majority at the time the announced voting period closes, this implementation commit will be reverted in time for the feature freeze. Closes GH-5793 --- Zend/tests/closure_use_trailing_comma.phpt | 17 +++++++++++++++++ Zend/zend_language_parser.y | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/closure_use_trailing_comma.phpt 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-- + +--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: -- 2.50.1