about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser
AgeCommit message (Collapse)AuthorLines
2022-10-26Rollup merge of #103444 - chenyukang:yukang/fix-103425-extra-diag, r=davidtwcoDylan DPC-29/+36
Remove extra type error after missing semicolon error Fixes #103425
2022-10-25Rollup merge of #103333 - chenyukang:yukang/fix-103143, r=wesleywiserYuki Okushi-5/+11
Fix assertion failed for break_last_token and trailing token Fixes #103143
2022-10-24fix #103425, remove extra type error after missing semicolon erroryukang-29/+36
2022-10-23Auto merge of #103431 - Dylan-DPC:rollup-oozfo89, r=Dylan-DPCbors-9/+87
Rollup of 6 pull requests Successful merges: - #101293 (Recover when unclosed char literal is parsed as a lifetime in some positions) - #101908 (Suggest let for assignment, and some code refactor) - #103192 (rustdoc: Eliminate uses of `EarlyDocLinkResolver::all_traits`) - #103226 (Check `needs_infer` before `needs_drop` during HIR generator analysis) - #103249 (resolve: Revert "Set effective visibilities for imports more precisely") - #103305 (Move some tests to more reasonable places) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-10-23Rollup merge of #101293 - compiler-errors:lt-is-actually-char, r=estebankDylan DPC-9/+87
Recover when unclosed char literal is parsed as a lifetime in some positions Fixes #101278
2022-10-23Migrate all diagnosticsNilstrieb-15/+15
2022-10-22Don't erroneously deny semicolons after closure expr within parentheses in a ↵Michael Goulet-0/+4
macro
2022-10-22Recover unclosed char literal being parsed as lifetimeMichael Goulet-9/+87
2022-10-21Rollup merge of #102922 - kper:bugfix/102902-filtering-json, r=oli-obkDylan DPC-1/+9
Filtering spans when emitting json According to the issue #102902, we shouldn't emit spans which have an empty span and no suggested replacement.
2022-10-20fix assertion failed for break_last_token and trailing tokenyukang-5/+11
2022-10-20Implement assertions and fixes to not emit empty spans without suggestionsKevin Per-1/+9
2022-10-18Fix the bug of next_point in spanyukang-4/+4
2022-10-14more dupe word typosRageking8-1/+1
2022-10-12Rollup merge of #102927 - compiler-errors:let, r=davidtwcoDylan DPC-6/+11
Fix `let` keyword removal suggestion in structs (1.) Fixes a bug where, given this code: ```rust struct Foo { let x: i32, } ``` We were parsing the field name as `let` instead of `x`, which causes issues later on in the type-checking phase. (2.) Also, suggestions for `let: i32` as a field regressed, displaying this extra `help:` which is removed by this PR ``` help: remove the let, the `let` keyword is not allowed in struct field definitions | 2 - let: i32, 2 + : i32, ``` (3.) Makes the suggestion text a bit more succinct, since we don't need to re-explain that `let` is not allowed in this position (since it's in a note that follows). This causes the suggestion to render inline as well. cc `@gimbles,` this addresses a few nits I mentioned in your PR.
2022-10-12Use `tidy-alphabetical` in the compilerNilstrieb-1/+2
2022-10-11Fix let removal suggestion in structMichael Goulet-6/+11
2022-10-10Rollup merge of #101789 - gimbles:let, r=estebankMatthias Krüger-1/+17
`let`'s not needed in struct field definitions Fixes #101683
2022-10-10`let` is not allowed in struct field definitionsgimbles-1/+17
Co-authored-by: jyn514 <jyn514@gmail.com> Co-authored-by: Esteban Kuber <estebank@users.noreply.github.com>
2022-10-10Rollup merge of #102345 - chenyukang:fix-102182-impl-trait, r=estebankYuki Okushi-2/+34
Recover from impl Trait in type param bound Fixes #102182 r? ``@estebank``
2022-10-08Stabilize half_open_range_patternsUrgau-1/+0
2022-10-08fix #102182, recover from impl Trait in type param boundyukang-2/+34
2022-10-03Add comments to `TokenCursor::desugar`.Nicholas Nethercote-1/+5
It took me some time to work out what this code was doing.
2022-10-01Rollup merge of #102500 - compiler-errors:parse-sess-cleanup, r=cjgillotMatthias Krüger-3/+5
Remove `expr_parentheses_needed` from `ParseSess` Not sure why this method needed to exist on `ParseSess`, but we can achieve the same behavior by just inlining it everywhere.
2022-09-30Rollup merge of #102493 - nnethercote:improve-size-assertions-some-more, r=lqdMatthias Krüger-8/+10
Group together more size assertions. Also add a few more assertions for some relevant token-related types. And fix an erroneous comment in `rustc_errors`. r? `@lqd`
2022-10-01Group together more size assertions.Nicholas Nethercote-8/+10
Also add a few more assertions for some relevant token-related types. And fix an erroneous comment in `rustc_errors`.
2022-09-30Rollup merge of #102350 - TaKO8Ki:incomplete-fn-in-struct-definition, ↵Matthias Krüger-11/+17
r=fee1-dead Improve errors for incomplete functions in struct definitions Given the following code: ```rust fn main() {} struct Foo { fn } ``` [playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=29139f870511f6918324be5ddc26c345) The current output is: ``` Compiling playground v0.0.1 (/playground) error: functions are not allowed in struct definitions --> src/main.rs:4:5 | 4 | fn | ^^ | = help: unlike in C++, Java, and C#, functions are declared in `impl` blocks = help: see https://doc.rust-lang.org/book/ch05-03-method-syntax.html for more information error: could not compile `playground` due to previous error ``` In this case, rustc should suggest escaping `fn` to use it as an identifier.
2022-09-30Remove expr_parentheses_needed from ParseSessMichael Goulet-3/+5
2022-09-29improve E0585 helpRageking8-2/+2
2022-09-28Auto merge of #101619 - Xiretza:rustc_parse-session-diagnostics, r=davidtwcobors-1253/+496
Migrate more of rustc_parse to SessionDiagnostic Still far from complete, but I thought I'd add a checkpoint here because rebasing was starting to get annoying.
2022-09-27Rollup merge of #102284 - compiler-errors:missing-type-in-raw-ptr, r=davidtwcoMatthias Krüger-4/+7
Structured suggestion for missing `mut`/`const` in raw pointer Fixes #102261
2022-09-27Implement IntoDiagnosticArg for rustc_ast::token::Token(Kind)Xiretza-32/+22
2022-09-27Don't unnecessarily stringify paths in diagnosticsXiretza-9/+9
2022-09-27Document use of Symbol::to_string()Xiretza-0/+2
2022-09-27Migrate even more diagnostics in rustc_parse to diagnostic structsXiretza-213/+131
2022-09-27Migrate "struct literal body without path" error to diagnostic structXiretza-16/+11
2022-09-27Migrate "expected semicolon" diagnostics to diagnostic structsXiretza-16/+21
2022-09-27Migrate "expected identifier" diagnostics to diagnostic structsXiretza-42/+60
2022-09-27Rework "inner attribute not permitted" errorsXiretza-58/+58
2022-09-27Remove error condition in parse_attributeXiretza-25/+12
This function is only ever called when the `#` has already been consumed, no need to produce an error message here.
2022-09-27Migrate more rustc_parse diagnostics to diagnostic structsXiretza-150/+62
2022-09-27Move rustc_parse diagnostic structs to separate moduleXiretza-811/+34
2022-09-27Migrate "invalid literal suffix" diagnostic to diagnostic structsXiretza-47/+56
2022-09-27Migrate more diagnostics in rustc_parse to diagnostic structsXiretza-218/+402
2022-09-28improve errors for incomplete functions in struct definitionsTakayuki Maeda-11/+17
2022-09-27Structured suggestion for missing mut/const in pointerMichael Goulet-4/+7
2022-09-27add a label to struct/enum/union ident nameTakayuki Maeda-10/+26
2022-09-27create a new local varTakayuki Maeda-5/+3
2022-09-26Rollup merge of #102286 - compiler-errors:recover-semi-in-block-item, ↵Matthias Krüger-7/+30
r=davidtwco Recover some items that expect braces and don't take semicolons Fixes #102262
2022-09-26Auto merge of #102297 - fee1-dead-contrib:rollup-2np0cre, r=fee1-deadbors-0/+17
Rollup of 5 pull requests Successful merges: - #102143 (Recover from struct nested in struct) - #102178 (bootstrap: the backtrace feature is stable, no need to allow it any more) - #102197 (Stabilize const `BTree{Map,Set}::new`) - #102267 (Don't set RUSTC in the bootstrap build script) - #102270 (Remove benches from `rustc_middle`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-09-25Recover some items that expect braces and don't take semicolonsMichael Goulet-7/+30