diff options
| author | Ralf Jung <post@ralfj.de> | 2023-02-09 10:01:43 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2023-02-09 10:01:43 +0100 |
| commit | 6f451fca0dc7f9ab9f341fb529f861fafd205b2f (patch) | |
| tree | b8308e42c6a378ff7d5a4978cc3cfb5a7a34dc25 /compiler/rustc_parse/src | |
| parent | 185156280f8e952a864c5f4f4c4daa03bc04d46c (diff) | |
| parent | 77c85e9cba0c3f8b185c63f013cca1350b2e5492 (diff) | |
| download | rust-6f451fca0dc7f9ab9f341fb529f861fafd205b2f.tar.gz rust-6f451fca0dc7f9ab9f341fb529f861fafd205b2f.zip | |
Merge from rustc
Diffstat (limited to 'compiler/rustc_parse/src')
| -rw-r--r-- | compiler/rustc_parse/src/parser/ty.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_parse/src/parser/ty.rs b/compiler/rustc_parse/src/parser/ty.rs index a19ea04fa5e..5b92563fc35 100644 --- a/compiler/rustc_parse/src/parser/ty.rs +++ b/compiler/rustc_parse/src/parser/ty.rs @@ -694,8 +694,9 @@ impl<'a> Parser<'a> { // `where`, so stop if it's it. // We also continue if we find types (not traits), again for error recovery. while self.can_begin_bound() - || self.token.can_begin_type() - || (self.token.is_reserved_ident() && !self.token.is_keyword(kw::Where)) + || (self.may_recover() + && (self.token.can_begin_type() + || (self.token.is_reserved_ident() && !self.token.is_keyword(kw::Where)))) { if self.token.is_keyword(kw::Dyn) { // Account for `&dyn Trait + dyn Other`. |
