darklyspaced
7c3a8aeea5
relocate tests to pass tidy
2023-08-07 22:40:09 +08:00
darklyspaced
9ed5267e61
fix tests
2023-08-07 22:31:32 +08:00
darklyspaced
6d256d9d0e
test infra added
2023-08-07 22:10:21 +08:00
Matthias Krüger
1f076fe1d8
Rollup merge of #113999 - Centri3:macro-arm-expand, r=wesleywiser
...
Specify macro is invalid in certain contexts
Adds a note when a macro is used where it really shouldn't be.
Closes #113766
2023-08-04 07:25:45 +02: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
Catherine Flores
bbd69e4a4c
Add test for enum with fields
2023-08-02 23:59:30 +00: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
bors
a04e649c09
Auto merge of #114028 - Centri3:ternary-operator, r=compiler-errors
...
Gracefully handle ternary operator
Fixes #112578
~~May not be the best way to do this as it doesn't check for a single `:`, so it could perhaps appear even when the actual issue is just a missing semicolon. May not be the biggest deal, though?~~
Nevermind, got it working properly now ^^
2023-07-29 16:45:29 +00:00
León Orell Valerian Liehr
6636916b66
Add UI tests for generic const items
2023-07-28 22:23:20 +02:00
Catherine Flores
faa73953c0
Remove unnecessary maybe_ternary_lo
field
2023-07-25 18:37:56 +00:00
Catherine Flores
16481807f5
Gracefully handle missing ternary operator
2023-07-25 18:27:24 +00:00
Catherine Flores
dece622ee4
Recover from some macros
2023-07-24 17:05:10 +00:00
Catherine
287db04636
Specify macro is invalid in certain contexts
2023-07-24 00:25:17 -05:00
Michael Goulet
7b962d7543
Support interpolated block for try and async
2023-07-22 15:22:12 +00:00
León Orell Valerian Liehr
b809207dec
Lint against misplaced where-clauses on assoc tys in traits
2023-07-11 01:19:11 +02:00
yukang
f25463e848
Fix the issue of wrong diagnosis for extern pub fn
2023-07-05 16:25:46 +08:00
yukang
799d2917e7
Detect extra space in keyword for better hint
2023-07-04 18:13:31 +08:00
Matthias Krüger
e992895c1d
Rollup merge of #112978 - compiler-errors:bad-block-sugg, r=davidtwco
...
Add suggestion for bad block fragment error
Makes it a bit clearer how to fix this parser restriction
2023-06-27 17:48:45 +02: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
Michael Goulet
2cc7782cfd
Add suggestion for bad block fragment error
2023-06-23 19:18:20 +00:00
Michael Goulet
9ef580fa6f
Handle interpolated literal errors
2023-06-15 01:55:37 +00:00
许杰友 Jieyou Xu (Joe)
72421bfb0c
Fix debug ICE for extern type with where clauses
2023-06-12 15:15:45 +08:00
yukang
0220c0b765
Detect actual span for getting unexpected token from parsing macros
2023-06-11 14:36:20 +08:00
Matthias Krüger
46b64aaef0
Rollup merge of #112498 - SamZhang3:rust-reference-link-update, r=Nilstrieb
...
Update links to Rust Reference in diagnostic
Instead of linking to the [old Rust Reference site](https://static.rust-lang.org/doc/master/reference.html#literals ), which is severely outdated (Rust 1.17), link to the [current website](https://doc.rust-lang.org/stable/reference/expressions/literal-expr.html ) in diagnostic about incorrect literals.
2023-06-11 01:57:28 +02:00
Hankai Zhang
6336da9a75
Use a better link
2023-06-10 14:46:11 -04:00
Hankai Zhang
e5fccf927d
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
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
许杰友 Jieyou Xu (Joe)
2a7c6a99ef
Fix suggestion for matching struct with ..
on both ends
2023-06-03 15:02:13 +08:00
许杰友 Jieyou Xu (Joe)
41f5a30690
Recover upon encountering mistyped Const
in const param def
2023-05-28 16:55:21 +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
Nilstrieb
87a0cd9a41
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
f65281534f
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
a5763ff8d3
Recover impl<T ?Sized>
correctly
2023-05-15 17:14:59 +00: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
bohan
7c1bc0353b
refactor(resolve): clean up the early error return caused by non-call
2023-05-10 22:35:01 +08:00
Dylan DPC
dbd090c655
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
6b76588222
suggest struct when we get colon in fileds in enum
2023-05-08 14:58:09 +08:00
est31
83b4df4e61
Add feature gate
2023-05-05 21:44:48 +02:00
est31
59ecbd2cea
Add parsing for builtin # in expression and item context
2023-05-05 21:44:13 +02:00
Zachary Mayhew
a183ac6f90
add hint for =< as <=
2023-05-05 11:17:14 -04: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
Dylan DPC
b727132e23
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
0fe1ff2137
sync with master
2023-05-01 16:15:17 +08:00
yukang
f54489978d
fix tests
2023-05-01 16:15:17 +08:00
yukang
f44ebf7e54
fix test cases
2023-05-01 16:15:17 +08:00