about summary refs log tree commit diff
path: root/compiler/rustc_parse/src
AgeCommit message (Collapse)AuthorLines
2022-03-11diagnostics: single colon within `<>` probably, not type ascriptionMichael Howell-0/+13
Fixes #94812
2022-03-11Rollup merge of #94839 - ↵Dylan DPC-0/+10
TaKO8Ki:suggest-using-double-colon-for-struct-field-type, r=cjgillot Suggest using double colon when a struct field type include single colon #92685
2022-03-11fix a suggestion messageTakayuki Maeda-1/+1
2022-03-11suggest using double colon when using single colon in struct field type pathTakayuki Maeda-0/+10
2022-03-10replace `self.clone()` with `self.create_snapshot_for_diagnostic()`Takayuki Maeda-36/+36
2022-03-10add doc commentsTakayuki Maeda-5/+14
2022-03-09implement `SnapshotParser` structTakayuki Maeda-6/+33
2022-03-09take over unclosed_delimsTakayuki Maeda-0/+1
2022-03-09remove an unnecessary commentTakayuki Maeda-1/+0
2022-03-09implement and use `diagnostic_snapshot`Takayuki Maeda-2/+8
2022-03-09initialize unclosed_delims fieldTakayuki Maeda-0/+1
2022-03-08suggest adding `{ .. }` around a const function with argumentsTakayuki Maeda-0/+9
2022-03-07diagnostics: only talk about `Cargo.toml` if running under CargoMichael Howell-6/+3
Fixes #94646
2022-03-06Auto merge of #90076 - jackh726:wherethewhere, r=nikomatsakisbors-53/+29
Change location of where clause on GATs Closes #89122 ~Blocked on lang FCP~ r? `@nikomatsakis`
2022-03-05Change syntax for TyAlias where clausesJack Huey-53/+29
2022-03-05Rollup merge of #94633 - ↵Ralf Jung-0/+10
TaKO8Ki:suggest-removing-semicolon-after-derive-attribute, r=cjgillot Suggest removing a semicolon after derive attributes closes #93942
2022-03-06suggest removing a semicolon after derive attributesTakayuki Maeda-0/+10
use current token span
2022-03-04Do not recover from `Ty?` in macro parsingEsteban Kuber-15/+27
Follow up to #92746. Address #94510.
2022-03-03Adjusted diagnostic output so that if there is no `use` in a item sequence,Felix S. Klock II-1/+4
then we just suggest the first legal position where you could inject a use. To do this, I added `inject_use_span` field to `ModSpans`, and populate it in parser (it is the span of the first token found after inner attributes, if any). Then I rewrote the use-suggestion code to utilize it, and threw out some stuff that is now unnecessary with this in place. (I think the result is easier to understand.) Then I added a test of issue 87613.
2022-03-03Associate multiple with a crate too.Felix S. Klock II-3/+2
2022-03-03refactor: prepare to associate multiple spans with a module.Felix S. Klock II-3/+4
2022-03-02rename ErrorReported -> ErrorGuaranteedmark-26/+28
2022-02-28Rollup merge of #94445 - c410-f3r:more-let-chains, r=cjgillotMatthias Krüger-76/+72
4 - Make more use of `let_chains` Continuation of #94376. cc #53667
2022-02-28Tweak diagnosticsEsteban Kuber-54/+150
* Recover from invalid `'label: ` before block. * Make suggestion to enclose statements in a block multipart. * Point at `match`, `while`, `loop` and `unsafe` keywords when failing to parse their expression. * Do not suggest `{ ; }`. * Do not suggest `|` when very unlikely to be what was wanted (in `let` statements).
2022-02-284 - Make more use of `let_chains`Caio-76/+72
Continuation of #94376. cc #53667
2022-02-25Suggest {} around more bad const generic exprsMichael Goulet-18/+40
2022-02-25Rollup merge of #94344 - notriddle:notriddle/suggest-parens-more, r=oli-obkMatthias Krüger-2/+16
diagnostic: suggest parens when users want logical ops, but get closures Fixes #93536
2022-02-24diagnostic: suggest parens when users want logical ops, but get closuresMichael Howell-2/+16
2022-02-23rustc_errors: let `DiagnosticBuilder::emit` return a "guarantee of emission".Eduard-Mihai Burtescu-39/+62
2022-02-23rustc_errors: take `self` by value in `DiagnosticBuilder::cancel`.Eduard-Mihai Burtescu-46/+46
2022-02-23rustc_errors: remove `struct_dummy`.Eduard-Mihai Burtescu-3/+5
2022-02-23Replace `&mut DiagnosticBuilder`, in signatures, with `&mut Diagnostic`.Eduard-Mihai Burtescu-12/+12
2022-02-21Better error if the user tries to do assignment ... elseest31-0/+10
2022-02-20Rollup merge of #94146 - est31:let_else, r=cjgillotMatthias Krüger-19/+12
Adopt let else in more places Continuation of #89933, #91018, #91481, #93046, #93590, #94011. I have extended my clippy lint to also recognize tuple passing and match statements. The diff caused by fixing it is way above 1 thousand lines. Thus, I split it up into multiple pull requests to make reviewing easier. This is the biggest of these PRs and handles the changes outside of rustdoc, rustc_typeck, rustc_const_eval, rustc_trait_selection, which were handled in PRs #94139, #94142, #94143, #94144.
2022-02-19Adopt let else in more placesest31-19/+12
2022-02-18Rollup merge of #93634 - matthiaskrgr:clippy_complexity_jan_2022, r=oli-obkMatthias Krüger-5/+5
compiler: clippy::complexity fixes useless_format map_flatten useless_conversion needless_bool filter_next clone_on_copy needless_option_as_deref
2022-02-17Rollup merge of #94011 - est31:let_else, r=lcnrMatthias Krüger-6/+3
Even more let_else adoptions Continuation of #89933, #91018, #91481, #93046, #93590.
2022-02-16Adopt let_else in even more placesest31-6/+3
2022-02-14suggest using raw string literals when invalid escapes appearErin Petra Sofiya Moon-0/+9
i'd guess about 70% of "bad escape" cases occur when someone meant to use a raw string literal because they're passing it directly to Regex::new(). this emits an advisory (Applicability::MaybeIncorrect) help: suggestion to the user that they use an r"" string, on top of the normal notes about looking at the string literal documentation/spec.
2022-02-12Rollup merge of #93595 - compiler-errors:ice-on-lifetime-arg, r=jackh726Matthias Krüger-3/+3
fix ICE when parsing lifetime as function argument I don't really like this, but we basically need to emit an error instead of just delaying an bug, because there are too many places in the AST that aren't covered by my previous PRs... cc: https://github.com/rust-lang/rust/issues/93282#issuecomment-1028052945
2022-02-03compiler: clippy::complexity fixesMatthias Krüger-5/+5
useless_format map_flatten useless_conversion needless_bool filter_next clone_on_copy needless_option_as_deref
2022-02-03clippy::perf fixesMatthias Krüger-3/+3
single_char_pattern and to_string_in_format_args
2022-02-02fix ICE when parsing lifetime as function argumentMichael Goulet-3/+3
2022-02-02better suggestion for duplicated `where`Michael Goulet-9/+38
2022-01-31Rollup merge of #93019 - 5225225:uppercase-suffix, r=wesleywiserEric Huss-0/+25
If an integer is entered with an upper-case base prefix (0Xbeef, 0O755, 0B1010), suggest to make it lowercase The current error for this case isn't really great, it just complains about the whole thing past the `0` being an invalid suffix.
2022-01-31Write UI tests, tweak message5225225-3/+2
2022-01-31Rollup merge of #93395 - camelid:reserved-sugg, r=davidtwcoMatthias Krüger-4/+4
Improve suggestion for escaping reserved keywords r? `@davidtwco`
2022-01-27Improve suggestion for escaping reserved keywordsNoah Lev-4/+4
2022-01-27Suggest making base prefix lowercase if parsing fails5225225-0/+26
2022-01-26Introduce a limit to Levenshtein distance computationTomasz Miąsko-1/+1
Incorporate distance limit from `find_best_match_for_name` directly into Levenshtein distance computation. Use the string size difference as a lower bound on the distance and exit early when it exceeds the specified limit. After finding a candidate within a limit, lower the limit further to restrict the search space.