Esteban Küber
1c6bd0b12b
Smaller span for unnessary mut
suggestion
2023-11-16 16:58:41 +00:00
Guillaume Gomez
c828371179
Rollup merge of #117282 - clubby789:recover-wrong-function-header, r=TaKO8Ki
...
Recover from incorrectly ordered/duplicated function keywords
Fixes #115714
2023-11-08 17:14:36 +01:00
bors
187d1afa9d
Auto merge of #117297 - clubby789:fn-trait-missing-paren, r=TaKO8Ki
...
Give a better diagnostic for missing parens in Fn* bounds
Fixes #108109
It would be nice to try and recover here, but I'm not sure it's worth the effort, especially as the bounds on the recovered function would be incorrect.
2023-11-07 13:04:56 +00:00
clubby789
904aceec7d
Give a better diagnostic for missing parens in Fn* bounds
2023-11-01 15:33:46 +00:00
clubby789
ca1bcb6466
Recover from missing param list in function definitions
2023-11-01 14:48:20 +00:00
clubby789
be0b42fabe
Recover from incorrectly ordered/duplicated function keywords
2023-10-27 18:29:43 +00:00
Esteban Küber
855444ec54
mv tests
2023-10-24 21:27:05 +00:00
Esteban Küber
6b2c6c7fd3
Detect ruby-style closure in parser
...
When parsing a closure without a body that is surrounded by a block,
suggest moving the opening brace after the closure head.
Fix #116608 .
2023-10-12 21:50:18 +00:00
Jubilee
0d68e416a5
Rollup merge of #116400 - estebank:issue-78585, r=WaffleLapkin
...
Detect missing `=>` after match guard during parsing
```
error: expected one of `,`, `:`, or `}`, found `.`
--> $DIR/missing-fat-arrow.rs:25:14
|
LL | Some(a) if a.value == b {
| - while parsing this struct
LL | a.value = 1;
| -^ expected one of `,`, `:`, or `}`
| |
| while parsing this struct field
|
help: try naming a field
|
LL | a: a.value = 1;
| ++
help: you might have meant to start a match arm after the match guard
|
LL | Some(a) if a.value == b => {
| ++
```
Fix #78585 .
2023-10-06 16:37:47 -07:00
Alex Macleod
5453a9f34d
Add a note to duplicate diagnostics
2023-10-05 01:04:41 +00:00
Esteban Küber
745c1ea438
Detect missing =>
after match guard during parsing
...
```
error: expected one of `,`, `:`, or `}`, found `.`
--> $DIR/missing-fat-arrow.rs:25:14
|
LL | Some(a) if a.value == b {
| - while parsing this struct
LL | a.value = 1;
| -^ expected one of `,`, `:`, or `}`
| |
| while parsing this struct field
|
help: try naming a field
|
LL | a: a.value = 1;
| ++
help: you might have meant to start a match arm after the match guard
|
LL | Some(a) if a.value == b => {
| ++
```
Fix #78585 .
2023-10-03 21:21:02 +00:00
Esteban Küber
3848ffcee7
Tweak wording of missing angle backets in qualified path
2023-09-28 00:37:20 +00:00
yukang
f7cd892b5a
add UI test for delimiter errors
2023-09-21 23:20:47 +08:00
León Orell Valerian Liehr
3ed77e98fa
Only suggest turbofish in patterns if we may recover
2023-09-12 16:38:59 +02:00
Gurinder Singh
6a286e775c
Add explanatory note to 'expected item' error
2023-09-06 09:05:07 +05:30
Michael Goulet
dc946649f5
Clean up some bad ui testing annotations
2023-08-15 01:03:09 +00:00
darklyspaced
7c3a8aeea5
relocate tests to pass tidy
2023-08-07 22:40:09 +08:00
Matthias Krüger
51d1dacdc2
Rollup merge of #114300 - MU001999:fix/turbofish-pat, r=estebank
...
Suggests turbofish in patterns
Fixes #114112
r? ```@estebank```
2023-08-03 17:29:07 +02:00
Mu001999
049c728c60
Suggests turbofish in patterns
2023-08-01 23:30:40 +08:00
bohan
8e32dade71
parser: more friendly hints for handling async move
in the 2015 edition
2023-07-31 11:04:28 +08:00
Matthias Krüger
9f2c21c11f
Rollup merge of #112518 - chenyukang:yukang-fix-112458, r=davidtwco
...
Detect actual span for getting unexpected token from parsing macros
Fixes #112458
2023-06-27 17:48:44 +02:00
yukang
0220c0b765
Detect actual span for getting unexpected token from parsing macros
2023-06-11 14:36:20 +08:00
yukang
e3071eaa60
reword the message to suggest surrounding with parentheses
2023-06-10 06:28:35 +08:00
yukang
3983881d4e
take care module name for suggesting surround the struct literal in parentheses
2023-06-10 06:28:35 +08:00
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
yukang
83789b8b06
fmt
2023-05-13 19:40:17 +08:00
yukang
ce6cfc37d0
Fix ice caused by shorthand fields in NoFieldsForFnCall
2023-05-13 18:06:16 +08:00
bohan
272dc5a6d5
fix(parse): return unpected when current token is EOF
2023-05-13 00:33:27 +08:00
Michael Goulet
6e01e910cb
Implement negative bounds
2023-05-02 22:36:24 +00:00
bors
98c33e47a4
Auto merge of #109128 - chenyukang:yukang/remove-type-ascription, r=estebank
...
Remove type ascription from parser and diagnostics
Mostly based on https://github.com/rust-lang/rust/pull/106826
Part of #101728
r? `@estebank`
2023-05-02 09:41:35 +00:00
Nilstrieb
c63b6a437e
Rip it out
...
My type ascription
Oh rip it out
Ah
If you think we live too much then
You can sacrifice diagnostics
Don't mix your garbage
Into my syntax
So many weird hacks keep diagnostics alive
Yet I don't even step outside
So many bad diagnostics keep tyasc alive
Yet tyasc doesn't even bother to survive!
2023-05-01 16:15:13 +08:00
Maybe Waffle
182eee298c
fixup tests wrt new normalization
2023-04-28 11:56:02 +00:00
Ezra Shaw
9dbf20ef27
fix: fix regression in #109203
2023-04-07 08:54:13 +12:00
Pietro Albini
64af509377
remove invalid ignore-pretty
2023-04-03 09:24:11 +02:00
Ezra Shaw
05b5046633
feat: implement error recovery in expected_ident_found
2023-03-20 20:54:41 +13:00
Ezra Shaw
b4e17a5098
refactor: improve "ident starts with number" error
2023-03-19 20:24:06 +13:00
clubby789
dd7df04e16
Remove uses of box_syntax
in rustc and tools
2023-03-12 13:19:46 +00:00
Ezra Shaw
252e0b3385
feat/refactor: improve errors in case of ident with number at start
2023-03-09 21:29:32 +13:00
Lukas Markeffsky
a435b3c0cd
add test for https://github.com/rust-lang/rust/issues/108242
2023-03-05 14:23:43 +01:00
yukang
a641229916
Add testcase for issue 105209
2023-03-01 13:28:12 +00:00
yukang
94a200b6a9
Fix #104367 , add test case for mismatched open/close delims
2023-03-01 13:14:30 +00:00
yukang
65ad5f8de7
remove duplicated diagnostic for unclosed delimiter
2023-02-28 07:57:17 +00:00
yukang
f01d0c02e7
Exit when there are unmatched delims to avoid noisy diagnostics
2023-02-28 07:55:19 +00:00
Matthias Krüger
743ca67edf
Rollup merge of #107602 - estebank:anon-enum-access, r=compiler-errors
...
Parse and recover from type ascription in patterns
Reintroduce part of #106960 , which was reverted in #107478 .
r? `@compiler-errors`
2023-02-03 06:30:24 +01:00
Esteban Küber
0ba687a95e
Parse and recover from type ascription in patterns
2023-02-02 17:18:48 +00:00
Matthias Krüger
8f47954742
Rollup merge of #106919 - compiler-errors:underscore-typo-in-field-pat, r=jackh726
...
Recover `_` as `..` in field pattern
2023-02-02 17:14:05 +01:00
Michael Goulet
9dd5d3e8e4
Recover _ as .. in field pattern
2023-02-02 06:10:02 +00:00
Michael Goulet
e4b2936983
Revert "Teach parser to understand fake anonymous enum syntax" and related commits
...
Revert "review comment: Remove AST AnonTy"
This reverts commit 020cca8d36cb678e3ddc2ead41364be314d19e93.
Revert "Ensure macros are not affected"
This reverts commit 12d18e403139eeeeb339e8611b2bed4910864edb.
Revert "Emit fewer errors on patterns with possible type ascription"
This reverts commit c847a01a3b1f620c4fdb98c75805033e768975d1.
Revert "Teach parser to understand fake anonymous enum syntax"
This reverts commit 2d824206655bfb26cb5eed43490ee396542b153e.
2023-02-02 05:54:35 +00:00
Esteban Küber
62ba3e70a1
Modify primary span label for E0308
...
The previous output was unintuitive to users.
2023-01-30 20:12:19 +00:00
bors
bca8b4dc32
Auto merge of #107408 - matthiaskrgr:rollup-b5vz2ow, r=matthiaskrgr
...
Rollup of 9 pull requests
Successful merges:
- #104012 (Improve unexpected close and mismatch delimiter hint in TokenTreesReader)
- #104252 (Stabilize the const_socketaddr feature)
- #105524 (Replace libc::{type} with crate::ffi::{type})
- #107096 (Detect references to non-existant messages in Fluent resources)
- #107355 (Add regression test for #60755 )
- #107384 (Remove `BOOL_TY_FOR_UNIT_TESTING`)
- #107385 (Use `FallibleTypeFolder` for `ConstInferUnifier` not `TypeRelation`)
- #107391 (rustdoc: remove inline javascript from copy-path button)
- #107398 (Remove `ControlFlow::{BREAK, CONTINUE}`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-28 13:12:59 +00:00