summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser/diagnostics.rs
AgeCommit message (Collapse)AuthorLines
2022-04-03Auto merge of #88672 - camelid:inc-parser-sugg, r=davidtwcobors-1/+213
Suggest `i += 1` when we see `i++` or `++i` Closes #83502 (for `i++` and `++i`; `--i` should be covered by #82987, and `i--` is tricky to handle). This is a continuation of #83536. r? `@estebank`
2022-04-02Fix doctest multi-line mod attributes handlingGuillaume Gomez-0/+4
2022-03-30Spellchecking compiler commentsYuri Astrakhan-1/+1
This PR cleans up the rest of the spelling mistakes in the compiler comments. This PR does not change any literal or code spelling issues.
2022-03-27Fix from rebaseNoah Lev-5/+5
I changed the test functions to be `pub` rather than called from a `main` function too, for easier future modification of tests.
2022-03-25diagnostics: correct generic bounds with doubled colonMichael Howell-0/+28
Fixes #95208
2022-03-23Fix rustfix panic on testNoah Lev-1/+1
`run-rustfix` applies all suggestions regardless of their Applicability. There's a flag, `rustfix-only-machine-applicable`, that does what it says, but then the produced `.fixed` file would have invalid code from the suggestions that weren't applied. So, I moved the cases of postfix increment, in which case multiple suggestions are given, to the `-notfixed` test, which does not run rustfix. I also changed the Applicability to Unspecified since MaybeIncorrect requires that the code be valid, even if it's incorrect.
2022-03-23Use `multipart_suggestions`Noah Lev-48/+54
This records that the suggestions are mutually-exclusive (i.e., only one should be applied).
2022-03-23Change temporary variable name if it would conflictNoah Lev-7/+4
2022-03-23Make `standalone` an enumNoah Lev-13/+25
2022-03-23Improve function namesNoah Lev-2/+2
2022-03-23Improve handling of `tmp` variable name conflictsNoah Lev-2/+6
2022-03-23Emit both subexp and standalone sugg for postfixNoah Lev-28/+54
This solves the TODO.
2022-03-23Emit structured suggestions for field accesses tooNoah Lev-22/+11
2022-03-23Refactor, handle fields better, add field testsNoah Lev-10/+10
2022-03-23Reduce rightward driftNoah Lev-31/+30
2022-03-23Remove error recovery todosNoah Lev-15/+9
2022-03-23Move increment checks to improve errorsNoah Lev-43/+185
2022-03-23Suggest `i += 1` when we see `i++` or `++i`Camelid-0/+43
2022-03-17Rollup merge of #94731 - TaKO8Ki:const-generic-expr-recovery, ↵Dylan DPC-22/+65
r=davidtwco,oli-obk Suggest adding `{ .. }` around a const function call with arguments closes #91020
2022-03-15use `format_args_capture` in some parts of rustc_parseTakayuki Maeda-14/+14
2022-03-12Use consistent prose for `::`Michael Howell-1/+1
Co-authored-by: Camille Gillot <gillot.camille@gmail.com>
2022-03-11diagnostics: single colon within `<>` probably, not type ascriptionMichael Howell-0/+13
Fixes #94812
2022-03-10replace `self.clone()` with `self.create_snapshot_for_diagnostic()`Takayuki Maeda-22/+22
2022-03-10add doc commentsTakayuki Maeda-3/+12
2022-03-09implement `SnapshotParser` structTakayuki Maeda-3/+30
2022-03-09implement and use `diagnostic_snapshot`Takayuki Maeda-0/+7
2022-03-04Do not recover from `Ty?` in macro parsingEsteban Kuber-3/+3
Follow up to #92746. Address #94510.
2022-03-02rename ErrorReported -> ErrorGuaranteedmark-11/+11
2022-02-28Rollup merge of #94445 - c410-f3r:more-let-chains, r=cjgillotMatthias Krüger-39/+39
4 - Make more use of `let_chains` Continuation of #94376. cc #53667
2022-02-28Tweak diagnosticsEsteban Kuber-14/+39
* 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-39/+39
Continuation of #94376. cc #53667
2022-02-25Suggest {} around more bad const generic exprsMichael Goulet-16/+23
2022-02-23rustc_errors: let `DiagnosticBuilder::emit` return a "guarantee of emission".Eduard-Mihai Burtescu-10/+22
2022-02-23rustc_errors: take `self` by value in `DiagnosticBuilder::cancel`.Eduard-Mihai Burtescu-21/+18
2022-02-23Replace `&mut DiagnosticBuilder`, in signatures, with `&mut Diagnostic`.Eduard-Mihai Burtescu-6/+6
2022-02-03compiler: clippy::complexity fixesMatthias Krüger-4/+4
useless_format map_flatten useless_conversion needless_bool filter_next clone_on_copy needless_option_as_deref
2022-01-27Improve suggestion for escaping reserved keywordsNoah Lev-4/+4
2022-01-25delay the bug once again, generalize turbofish suggestionMichael Goulet-18/+12
2022-01-25Remove delayed bug when encountering label in bad turbofishMichael Goulet-1/+1
2022-01-17Rollup merge of #92876 - compiler-errors:fix-turbofish-lifetime-suggestion, ↵Matthias Krüger-16/+23
r=nagisa Fix suggesting turbofish with lifetime arguments Now we suggest turbofish correctly given exprs like `foo<'_>`. Also fix suggestion when we have `let x = foo<bar, baz>;` which was broken.
2022-01-16Rollup merge of #92746 - estebank:question-mark-in-type, r=davidtwcoMatthias Krüger-1/+29
Parse `Ty?` as `Option<Ty>` and provide structured suggestion Swift has specific syntax that desugars to `Option<T>` similar to our `?` operator, which means that people might try to use it in Rust. Parse it and gracefully recover.
2022-01-13Fix suggesting turbofish with lifetime argumentsMichael Goulet-16/+23
2022-01-14Parse `Ty?` as `Option<Ty>` and provide structured suggestionEsteban Kuber-1/+29
Swift has specific syntax that desugars to `Option<T>` similar to our `?` operator, which means that people might try to use it in Rust. Parse it and gracefully recover.
2022-01-09eplace usages of vec![].into_iter with [].into_iterLucas Kent-2/+2
2021-12-14fix clippy::single_char_pattern perf findingsMatthias Krüger-1/+1
2021-12-09Remove redundant [..]sest31-3/+3
2021-12-04Do not add `;` to expected tokens list when it's wrongMichael Howell-1/+2
There's a few spots where semicolons are checked for to do error recovery, and should not be suggested (or checked for other stuff). Fixes #87647
2021-11-29review comments: clean upEsteban Kuber-2/+180
2021-11-25Auto merge of #85346 - estebank:issue-84946, r=nagisa,varkorbors-6/+73
Account for incorrect `impl Foo<const N: ty> {}` syntax Fix #84946
2021-11-24Tweak span and add more testsEsteban Kuber-5/+2