Matthias Krüger 97fae38bf9
Rollup merge of #111181 - bvanjoi:fix-issue-111148, r=davidtwco
fix(parse): return unpected when current token is EOF

close https://github.com/rust-lang/rust/issues/111148

#111148 panic occurred because [FatalError.raise()](https://github.com/bvanjoi/rust/blob/master/compiler/rustc_parse/src/parser/mod.rs#LL540C3-L540C3) was encountered which caused by `Eof` and `Pound`(the last token) had same span, when parsing `#` in `fn a<<i<Y<w<>#`.

<img width="825" alt="image" src="https://user-images.githubusercontent.com/30187863/236612589-9e2c6a0b-18cd-408c-b636-c12a51cbcf1c.png">

There are a few ways to solve this problem:

- Change the action assign for [self.last_unexpected_token_span](https://github.com/rust-lang/rust/blob/master/compiler/rustc_parse/src/parser/diagnostics.rs#L592), for example, if current token is `Eof`, then return Error directly.
- Avoid triggering the `FatalError` when the current token is `Eof`.

I have chosen the second option because executing `expected_one_of_not_found` when the token is `Eof` but not in `ediable` seems reasonable.
2023-05-27 20:40:28 +02:00
..
2023-05-02 22:36:24 +00:00
2023-05-02 22:36:24 +00:00
2023-05-01 16:15:13 +08:00
2023-05-01 16:15:13 +08:00
2023-05-01 16:15:13 +08:00
2023-04-03 09:24:11 +02:00
2023-05-01 16:15:13 +08:00
2023-05-01 16:15:13 +08:00
2023-03-01 13:28:12 +00:00
2023-04-07 08:54:13 +12:00
fmt
2023-05-13 19:40:17 +08:00
fmt
2023-05-13 19:40:17 +08:00