about summary refs log tree commit diff
path: root/src/librustc_parse
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-02-10 17:29:03 +0100
committerGitHub <noreply@github.com>2020-02-10 17:29:03 +0100
commit119bc976db5549f17258a55bb9684eae0fa98b65 (patch)
treec86a4ca7da09a17b2eaafb29547bcd7c938fb59d /src/librustc_parse
parentdb08784964012fc998b33f4104daf05a121383e0 (diff)
parent371060b5988158fdaa3b7abd6167a28d95d74b38 (diff)
downloadrust-119bc976db5549f17258a55bb9684eae0fa98b65.tar.gz
rust-119bc976db5549f17258a55bb9684eae0fa98b65.zip
Rollup merge of #69014 - dwrensha:fix-68890, r=Centril
change an instance of span_bug() to struct_span_err() to avoid ICE

After #67148, the `span_bug()` in `parse_ty_tuple_or_parens()` is reachable because `parse_paren_comma_seq()` can return an `Ok()` even in cases where it encounters an error.
This pull request prevents an ICE in such cases by replacing the `span_bug()` with `struct_span_error()`.

Fixes #68890.
Diffstat (limited to 'src/librustc_parse')
-rw-r--r--src/librustc_parse/parser/ty.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc_parse/parser/ty.rs b/src/librustc_parse/parser/ty.rs
index 990661bf6b5..a573a1ee699 100644
--- a/src/librustc_parse/parser/ty.rs
+++ b/src/librustc_parse/parser/ty.rs
@@ -214,7 +214,10 @@ impl<'a> Parser<'a> {
                     let path = match bounds.remove(0) {
                         GenericBound::Trait(pt, ..) => pt.trait_ref.path,
                         GenericBound::Outlives(..) => {
-                            self.span_bug(ty.span, "unexpected lifetime bound")
+                            return Err(self.struct_span_err(
+                                ty.span,
+                                "expected trait bound, not lifetime bound",
+                            ));
                         }
                     };
                     self.parse_remaining_bounds(Vec::new(), path, lo, true)