Commit Graph

113 Commits

Author SHA1 Message Date
Hankai Zhang 4bd5fdac95 Use a better link 2023-06-10 14:46:11 -04:00
Hankai Zhang 5e302f4ed1 Update links to Rust Reference page on literals in diagnostic
Instead of linking to the old Rust Reference site on static.rust-lang.org,
link to the current website doc.rust-lang.org/stable/reference instead in
diagnostic about incorrect literals.
2023-06-10 12:34:16 -04:00
许杰友 Jieyou Xu (Joe) 65bfb7cb95 Fix suggestion for matching struct with .. on both ends 2023-06-03 15:02:13 +08:00
许杰友 Jieyou Xu (Joe) f2bf54f07f Recover upon encountering mistyped Const in const param def 2023-05-28 16:55:21 +08:00
Matthias Krüger c4007b5080 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
Nilstrieb 36f4e74f9b Rollup merge of #111449 - compiler-errors:recover-impl-generics-correctly, r=Nilstrieb
Recover `impl<T ?Sized>` correctly

Fixes #111327

r? ````@Nilstrieb```` but you can re-roll

Alternatively, happy to close this if we're okay with just saying "sorry #111327 is just a poor side-effect of parser ambiguity" 🤷
2023-05-16 11:39:38 +02:00
Nilstrieb 36d6a63950 Rollup merge of #111428 - bvanjoi:fix-109250, r=Nilstrieb
refactor(resolve): clean up the early error return caused by non-call

closes https://github.com/rust-lang/rust/issues/109250

It seems no bad happened, r? ``@Nilstrieb``
2023-05-16 11:39:38 +02:00
Michael Goulet c6e34dbf19 Recover impl<T ?Sized> correctly 2023-05-15 17:14:59 +00:00
yukang f6570e280f fmt 2023-05-13 19:40:17 +08:00
yukang e8a31b1300 Fix ice caused by shorthand fields in NoFieldsForFnCall 2023-05-13 18:06:16 +08:00
bohan ab667a9ab8 fix(parse): return unpected when current token is EOF 2023-05-13 00:33:27 +08:00
bohan 2f814644c9 refactor(resolve): clean up the early error return caused by non-call 2023-05-10 22:35:01 +08:00
Dylan DPC 29108690cf Rollup merge of #110694 - est31:builtin, r=petrochenkov
Implement builtin # syntax and use it for offset_of!(...)

Add `builtin #` syntax to the parser, as well as a generic infrastructure to support both item and expression position builtin syntaxes. The PR also uses this infrastructure for the implementation of the `offset_of!` macro, added by #106934.

cc `@petrochenkov` `@DrMeepster`

cc #110680 `builtin #` tracking issue
cc #106655 `offset_of!` tracking issue
2023-05-09 12:33:45 +05:30
yukang 130ae71982 suggest struct when we get colon in fileds in enum 2023-05-08 14:58:09 +08:00
est31 1c8153cac2 Add feature gate 2023-05-05 21:44:48 +02:00
est31 2c70083e1b Add parsing for builtin # in expression and item context 2023-05-05 21:44:13 +02:00
Zachary Mayhew 965b665718 add hint for =< as <= 2023-05-05 11:17:14 -04:00
Michael Goulet 985d9896de Implement negative bounds 2023-05-02 22:36:24 +00:00
bors 3bda24b737 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
Dylan DPC ab40c146ef Rollup merge of #108161 - WaffleLapkin:const_param_ty, r=BoxyUwU
Add `ConstParamTy` trait

This is a bit sketch, but idk.
r? `@BoxyUwU`

Yet to be done:
- [x] ~~Figure out if it's okay to implement `StructuralEq` for primitives / possibly remove their special casing~~ (it should be okay, but maybe not in this PR...)
- [ ] Maybe refactor the code a little bit
- [x] Use a macro to make impls a bit nicer

Future work:
- [ ] Actually™ use the trait when checking if a `const` generic type is allowed
- [ ] _Really_ refactor the surrounding code
- [ ] Refactor `marker.rs` into multiple modules for each "theme" of markers
2023-05-02 11:44:50 +05:30
yukang ae7a5780dc sync with master 2023-05-01 16:15:17 +08:00
yukang 5afa27c67b fix tests 2023-05-01 16:15:17 +08:00
yukang 97945685d7 fix test cases 2023-05-01 16:15:17 +08:00
Nilstrieb 4a65efc7e8 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 5bf07b6084 fixup tests wrt new normalization 2023-04-28 11:56:02 +00:00
clubby789 82544f0f55 Migrate trivially translatable rustc_parse diagnostics 2023-04-27 01:53:06 +01:00
bors ea20b7dcf1 Auto merge of #109786 - estebank:tweak-add-line-sugg, r=compiler-errors
Tweak output for 'add line' suggestion

Closes #108174
2023-04-13 07:02:53 +00:00
Esteban Küber eb49cb4680 Special-case item attributes in the suggestion output 2023-04-12 22:50:10 +00:00
Esteban Küber 1343237b2d Tweak output for 'add line' suggestion 2023-04-12 22:50:10 +00:00
Matthias Krüger 009839e04b Rollup merge of #110135 - compiler-errors:revert-108031, r=davidtwco
Revert "Don't recover lifetimes/labels containing emojis as character literals"

Reverts PR #108031 per https://github.com/rust-lang/rust/pull/109754#issuecomment-1490452045

Fixes (doesnt close until beta backported) #109746

This reverts commit 20352b2d30.
This reverts commit 39758ab015.
This reverts commit 51aa2a3e2b.
2023-04-12 22:04:35 +02:00
Yuki Okushi da08f53481 Rollup merge of #109923 - ElectrifyPro:visibility, r=wesleywiser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear

This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.

Resolves #109822.
2023-04-11 12:18:50 +09:00
Michael Goulet 575b1c6547 Revert "Don't recover lifetimes/labels containing emojis as character literals"
Reverts PR #108031
Fixes (doesnt close until beta backported) #109746

This reverts commit 20352b2d30.
This reverts commit 39758ab015.
This reverts commit 51aa2a3e2b.
2023-04-10 06:52:41 +00:00
Michael Goulet 408f162228 Use smart-resolve when checking for trait in RHS of UFCS 2023-04-07 05:33:52 +00:00
Ezra Shaw 317b1e4543 fix: fix regression in #109203 2023-04-07 08:54:13 +12:00
Tam Pham 66e029b0d1 Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
Pietro Albini 8588a5db13 remove invalid ignore-pretty 2023-04-03 09:24:11 +02:00
Ezra Shaw e63c992238 feat: implement error recovery in expected_ident_found 2023-03-20 20:54:41 +13:00
Ezra Shaw 8663814ecc refactor: improve "ident starts with number" error 2023-03-19 20:24:06 +13:00
bors 3025f44e29 Auto merge of #104833 - Swatinem:async-identity-future, r=compiler-errors
Remove `identity_future` indirection

This was previously needed because the indirection used to hide some unexplained lifetime errors, which it turned out were related to the `min_choice` algorithm.

Removing the indirection also solves a couple of cycle errors, large moves and makes async blocks support the `#[track_caller]`annotation.

Fixes https://github.com/rust-lang/rust/issues/104826.
2023-03-14 10:12:58 +00:00
clubby789 780a145328 Add recovery for use of removed box syntax 2023-03-12 13:26:37 +00:00
clubby789 ca91f7d86c Remove box_syntax from AST and use in tools 2023-03-12 13:19:46 +00:00
clubby789 b2a37c4b05 Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
Ezra Shaw 7f844dd580 feat/refactor: improve errors in case of ident with number at start 2023-03-09 21:29:32 +13:00
Arpad Borsos f2f5fd6fa7 Remove identity_future indirection
This was previously needed because the indirection used to hide some unexplained lifetime errors, which it turned out were related to the `min_choice` algorithm.

Removing the indirection also solves a couple of cycle errors, large moves and makes async blocks support the `#[track_caller]` annotation.
2023-03-08 15:37:14 +01:00
Lukas Markeffsky 637a8b9346 add test for https://github.com/rust-lang/rust/issues/108242 2023-03-05 14:23:43 +01:00
Takayuki Maeda d8eeb47c1a check if snippet is ) 2023-03-03 14:34:11 +09:00
yukang 3d65a292d7 Add testcase for issue 105209 2023-03-01 13:28:12 +00:00
yukang d2f720fde3 Fix #104367, add test case for mismatched open/close delims 2023-03-01 13:14:30 +00:00
bors c170f9c0a8 Auto merge of #108587 - matthiaskrgr:rollup-rw6po59, r=matthiaskrgr
Rollup of 10 pull requests

Successful merges:

 - #108376 (compiler/rustc_session: fix sysroot detection logic)
 - #108400 (add llvm cgu instructions stats to perf)
 - #108496 (fix #108495, postfix decrement and prefix decrement has no warning)
 - #108505 (Further unify validity intrinsics)
 - #108520 (Small cleanup to `one_bound_for_assoc_type`)
 - #108560 (Some `infer/mod.rs` cleanups)
 - #108563 (Make mailmap more correct)
 - #108564 (Fix `x clean` with specific paths)
 - #108571 (Add contains_key to SortedIndexMultiMap)
 - #108578 (Update Fuchsia platform team members)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-01 06:23:19 +00:00
Matthias Krüger 1792b4a608 Rollup merge of #108496 - nx2k3:issue-108495-dec, r=WaffleLapkin
fix #108495, postfix decrement and prefix decrement has no warning

Fixes #108495
2023-03-01 01:21:56 +01:00