about summary refs log tree commit diff
path: root/compiler/rustc_parse
AgeCommit message (Collapse)AuthorLines
2022-08-21recover `const Tr` bounds (no `~`)Maybe Waffle-0/+14
2022-08-21Replace #[lint/warning/error] with #[diag]Xiretza-8/+8
2022-08-20Auto merge of #100564 - nnethercote:box-ast-MacCall, r=spastorinobors-7/+7
Box the `MacCall` in various types. r? `@spastorino`
2022-08-20Rollup merge of #100750 - ↵Matthias Krüger-0/+9
akabinds:akabinds/improved-invalid-function-qual-error, r=davidtwco improved diagnostic for function defined with `def`, `fun`, `func`, or `function` instead of `fn` Closes #99751
2022-08-20Rollup merge of #100667 - Xiretza:diag-structs-parser-ivd, r=davidtwcoMatthias Krüger-19/+41
Migrate "invalid variable declaration" errors to SessionDiagnostic After seeing the great blog post on Inside Rust, I decided to try my hand at this. Just one diagnostic for now to get used to the workflow and to check if this is the way to do it or if there are any problems.
2022-08-18added improved diagnostic for a function defined with an invalid qualifierakabinds-0/+9
2022-08-18Rollup merge of #100670 - Xiretza:parser-stmt-force-collect-docs, r=davidtwcoMatthias Krüger-1/+1
Fix documentation of rustc_parse::parser::Parser::parse_stmt_without_recovery Something seems to have gotten out of sync during the creation of #81177, where both the argument and comment were introduced.
2022-08-17Migrate "invalid variable declaration" errors to SessionDiagnosticXiretza-19/+41
2022-08-17Rollup merge of #100018 - nnethercote:clean-up-LitKind, r=petrochenkovMatthias Krüger-3/+3
Clean up `LitKind` r? ``@petrochenkov``
2022-08-17Fix documentation of rustc_parse::parser::Parser::parse_stmt_without_recoveryXiretza-1/+1
Something seems to have gotten out of sync during the creation of #81177, where both the argument and comment were introduced.
2022-08-17Box the `MacCall` in various types.Nicholas Nethercote-7/+7
2022-08-16Rename some things related to literals.Nicholas Nethercote-3/+3
- Rename `ast::Lit::token` as `ast::Lit::token_lit`, because its type is `token::Lit`, which is not a token. (This has been confusing me for a long time.) reasonable because we have an `ast::token::Lit` inside an `ast::Lit`. - Rename `LitKind::{from,to}_lit_token` as `LitKind::{from,to}_token_lit`, to match the above change and `token::Lit`.
2022-08-16Avoid unnecessary cloning in `Parser::get_ident_from_generic_arg`.Nicholas Nethercote-9/+5
2022-08-16Remove `{ast,hir}::WhereEqPredicate::id`.Nicholas Nethercote-1/+0
These fields are unused.
2022-08-15Rollup merge of #100559 - nnethercote:parser-simplifications, r=compiler-errorsMatthias Krüger-215/+163
Parser simplifications Best reviewed one commit at a time. r? ``@compiler-errors``
2022-08-15Rollup merge of #100458 - compiler-errors:fn-argument-span, r=estebankMatthias Krüger-1/+1
Adjust span of fn argument declaration Span of a fn argument declaration goes from: ``` fn foo(i : i32 , ...) ^^^^^^^^ ``` to: ``` fn foo(i : i32 , ...) ^^^^^^^ ``` That is, we don't include the extra spacing up to the trailing comma, which I think is more correct. cc https://github.com/rust-lang/rust/pull/99646#discussion_r944568074 r? ``@estebank`` --- The two tests that had dramatic changes in their rendering I think actually are improved, though they are kinda poor spans both before and after the changes. :shrug: Thoughts?
2022-08-15Rollup merge of #100566 - TaKO8Ki:use-create-snapshot-for-diagnostic, r=cjgillotMatthias Krüger-2/+2
Use `create_snapshot_for_diagnostic` instead of `clone` for `Parser` follow-up to #98020
2022-08-15Rollup merge of #100534 - Rageking8:Rageking8-refactor1, r=compiler-errorsMatthias Krüger-2/+2
Make code slightly more uniform
2022-08-15use `create_snapshot_for_diagnostic` instead of `clone` for `Parser`Takayuki Maeda-2/+2
2022-08-15suggest adding a missing semicolon before an itemTakayuki Maeda-2/+4
2022-08-15Simplify attribute handling in `parse_bottom_expr`.Nicholas Nethercote-208/+159
`Parser::parse_bottom_expr` currently constructs an empty `attrs` and then passes it to a large number of other functions. This makes the code harder to read than it should be, because it's not clear that many `attrs` arguments are always empty. This commit removes `attrs` and the passing, simplifying a lot of functions. The commit also renames `Parser::mk_expr` (which takes an `attrs` argument) as `mk_expr_with_attrs`, and introduces a new `mk_expr` which creates an expression with no attributes, which is the more common case.
2022-08-15Streamline `parse_path_start_expr`.Nicholas Nethercote-9/+6
Let-chaining avoids some code duplication.
2022-08-14Rollup merge of #100253 - obeis:issue-100197, r=cjgillotMatthias Krüger-0/+13
Recover from mutable variable declaration where `mut` is placed before `let` Closes #100197
2022-08-14Make code slightly more uniformRageking8-2/+2
2022-08-14Rollup merge of #100115 - obeis:issue-99910, r=cjgillotDylan DPC-0/+26
Suggest removing `let` if `const let` or `let const` is used Closes #99910
2022-08-13Rollup merge of #100446 - ↵Michael Goulet-4/+34
TaKO8Ki:suggest-removing-semicolon-after-impl-trait-items, r=compiler-errors Suggest removing a semicolon after impl/trait items fixes #99822
2022-08-13Rollup merge of #99646 - compiler-errors:arg-mismatch-single-arg-label, ↵Michael Goulet-1/+1
r=estebank Only point out a single function parameter if we have a single arg incompatibility Fixes #99635
2022-08-13Rollup merge of #100475 - chenyukang:fix-100461, r=fee1-deadMichael Goulet-2/+6
Give a helpful diagnostic when the next struct field has an attribute Fixes #100461
2022-08-13avoid cloning and then iteratingKaDiWa-5/+5
2022-08-13use `span_suggestion` instead of `span_suggestion_verbose`Takayuki Maeda-1/+1
2022-08-13give a helpful diagnostic even when the next struct field has an attributeyukang-2/+6
2022-08-12Adjust cfgsMark Rousskov-1/+0
2022-08-12Adjust span of fn argumentsMichael Goulet-1/+1
2022-08-12Adjust span of closure paramMichael Goulet-1/+1
2022-08-12Rollup merge of #100396 - chenyukang:fix-100394, r=petrochenkovDylan DPC-1/+6
Suggest const and static for global variable Fixing #100394
2022-08-12suggest removing a semicolon after impl/trait itemsTakayuki Maeda-4/+34
2022-08-11Rollup merge of #100350 - jhpratt:stringify-vis, r=cjgillotMatthias Krüger-2/+10
Stringify non-shorthand visibility correctly This makes `stringify!(pub(in crate))` evaluate to `pub(in crate)` rather than `pub(crate)`, matching the behavior before the `crate` shorthand was removed. Further, this changes `stringify!(pub(in super))` to evaluate to `pub(in super)` rather than the current `pub(super)`. If the latter is not desired (it is _technically_ breaking), it can be undone. Fixes #99981 `@rustbot` label +C-bug +regression-from-stable-to-beta +T-compiler
2022-08-11Rollup merge of #100351 - compiler-errors:diagnostic-convention, r=fee1-deadDylan DPC-5/+5
Use `&mut Diagnostic` instead of `&mut DiagnosticBuilder` unless needed This seems to be the established convention (02ff9e0) when `DiagnosticBuilder` was first added. I am guilty of introducing some of these.
2022-08-11suggest const or static for global variablechenyukang-1/+6
2022-08-10Do not consider method call receiver as an argument in AST.Camille GILLOT-5/+7
2022-08-10Use &mut Diagnostic instead of &mut DiagnosticBuilder unless neededMichael Goulet-5/+5
2022-08-09Stringify non-shorthand visibility correctlyJacob Pratt-2/+10
2022-08-10suggest a missing semicolon before an arrayTakayuki Maeda-0/+42
2022-08-09Recover from mutable variable declaration where `mut` is placed before `let`Obei Sideg-0/+13
2022-08-06Rollup merge of #100167 - chenyukang:require-suggestion, r=estebankMatthias Krüger-1/+4
Recover `require`, `include` instead of `use` in item Fix #100140
2022-08-05Rollup merge of #100168 - ↵Dylan DPC-11/+19
WaffleLapkin:improve_diagnostics_for_missing_type_in_a_const_item, r=compiler-errors Improve diagnostics for `const a: = expr;` Adds a suggestion to write a type when there is a colon, but the type is not present. I've also shrunk spans a little, so the suggestions are a little nicer. Resolves #100146 r? `@compiler-errors`
2022-08-05Improve diagnostics for `const a: = expr;`Maybe Waffle-11/+19
2022-08-05recover require,include instead of use in itemyukang-1/+4
2022-08-04Rollup merge of #98796 - compiler-errors:no-semi-if-comma, r=estebankMatthias Krüger-1/+2
Do not exclusively suggest `;` when `,` is also a choice Fixes #96791
2022-08-04Suggest removing `let` if `let const` is usedObei Sideg-0/+16