about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-03-01 16:28:04 -0800
committerEsteban Küber <esteban@kuber.com.ar>2019-03-06 18:45:59 -0800
commit2ec7d0b2281e57a456d6122dadd5646804a9d36e (patch)
tree2e47895a2478a88036d8366525a5466bc1ad09e2 /src/libsyntax/parse/parser.rs
parentf22dca0a1bef4141e75326caacc3cd59f3d5be8e (diff)
downloadrust-2ec7d0b2281e57a456d6122dadd5646804a9d36e.tar.gz
rust-2ec7d0b2281e57a456d6122dadd5646804a9d36e.zip
Do not panic on missing close paren
Fix #58856.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index fd5038a8614..dd4c2393fa5 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -6332,8 +6332,10 @@ impl<'a> Parser<'a> {
                     &token::CloseDelim(token::Paren), sep, parse_arg_fn)?;
                 fn_inputs.append(&mut input);
                 (fn_inputs, recovered)
+            } else if let Err(err) = self.expect_one_of(&[], &[]) {
+                return Err(err);
             } else {
-                return self.unexpected();
+                (vec![self_arg], true)
             }
         } else {
             self.parse_seq_to_before_end(&token::CloseDelim(token::Paren), sep, parse_arg_fn)?