about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser
AgeCommit message (Collapse)AuthorLines
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-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-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
2022-09-22recover from struct nested in structRageking8-0/+17
2022-09-22Add missing code="" attributes to suggestion subdiagnosticsXiretza-4/+4
2022-09-21FIX - adopt new Diagnostic naming in newly migrated modulesJhonny Bill Mena-2/+2
FIX - ambiguous Diagnostic link in docs UPDATE - rename diagnostic_items to IntoDiagnostic and AddToDiagnostic [Gardening] FIX - formatting via `x fmt` FIX - rebase conflicts. NOTE: Confirm wheather or not we want to handle TargetDataLayoutErrorsWrapper this way DELETE - unneeded allow attributes in Handler method FIX - broken test FIX - Rebase conflict UPDATE - rename residual _SessionDiagnostic and fix LintDiag link
2022-09-21UPDATE - rename SessionSubdiagnostic macro to SubdiagnosticJhonny Bill Mena-7/+7
Also renames: - sym::AddSubdiagnostic to sym:: Subdiagnostic - rustc_diagnostic_item = "AddSubdiagnostic" to rustc_diagnostic_item = "Subdiagnostic"
2022-09-21UPDATE - rename DiagnosticHandler macro to DiagnosticJhonny Bill Mena-42/+42
2022-09-21UPDATE - rename DiagnosticHandler trait to IntoDiagnosticJhonny Bill Mena-43/+43
2022-09-21UPDATE - move SessionDiagnostic from rustc_session to rustc_errorsJhonny Bill Mena-1/+1