about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2016-01-10 22:59:23 +0100
committerFlorian Hahn <flo@fhahn.com>2016-01-10 22:59:23 +0100
commite61d21fe3d59797f0bc30ded9e943bfe9f5364e4 (patch)
tree8b5e48ec9a8966e262f66d34855115174099ea68 /src/libsyntax
parentd70ab2bdf16c22b9f3ff0230089b44855e3f1593 (diff)
downloadrust-e61d21fe3d59797f0bc30ded9e943bfe9f5364e4.tar.gz
rust-e61d21fe3d59797f0bc30ded9e943bfe9f5364e4.zip
Cancel parse_ty error in Parser::parse_generic_values_after_lt
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/parse/parser.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index e089e630e57..bfa42e76129 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -4046,10 +4046,12 @@ impl<'a> Parser<'a> {
             let mut err = self.diagnostic().struct_span_err(self.span, &msg);
 
             let span_hi = self.span.hi;
-            let span_hi = if self.parse_ty().is_ok() {
-                self.span.hi
-            } else {
-                span_hi
+            let span_hi = match self.parse_ty() {
+                Ok(..) => self.span.hi,
+                Err(ref mut err) => {
+                    err.cancel();
+                    span_hi
+                }
             };
 
             let msg = format!("did you mean a single argument type &'a Type, \