Matthias Krüger
e3036df003
couple of clippy::perf fixes
2022-11-18 10:30:47 +01:00
Nicholas Nethercote
67d5cc0462
Use ThinVec
in ast::Path
.
2022-11-17 13:56:38 +11:00
Nicholas Nethercote
6b7ca2fcf2
Box ExprKind::{Closure,MethodCall}
, and QSelf
in expressions, types, and patterns.
2022-11-17 13:45:59 +11:00
Maybe Waffle
94470f4efd
Use as_deref
in compiler (but only where it makes sense)
2022-11-16 21:58:58 +00:00
Manish Goregaokar
fd5ff82f28
Rollup merge of #103468 - chenyukang:yukang/fix-103435-extra-parentheses, r=estebank
...
Fix unused lint and parser caring about spaces to won't produce invalid code
Fixes #103435
2022-11-11 12:12:29 -05:00
Michael Goulet
4e7fc663cc
Don't silently eat label before block in block-like expr
2022-11-04 21:35:58 +00:00
Nilstrieb
29e50e8d35
Gate some recovery behind a flag
...
Mainly in `expr.rs`
2022-10-28 22:07:36 +02:00
yukang
a46af18cb1
fix parentheses surrounding spacing issue in parser
2022-10-24 18:24:10 +08:00
Nilstrieb
c65ebae221
Migrate all diagnostics
2022-10-23 10:09:44 +02:00
Dylan DPC
0a0e9f73af
Rollup merge of #102922 - kper:bugfix/102902-filtering-json, r=oli-obk
...
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-21 17:29:58 +05:30
Kevin Per
28d0312b7d
Implement assertions and fixes to not emit empty spans without suggestions
2022-10-20 08:25:31 +00:00
yukang
0af255a5aa
Fix the bug of next_point in span
2022-10-18 02:59:38 +08:00
Rageking8
7122abaddf
more dupe word typos
2022-10-14 12:57:56 +08:00
Michael Goulet
85a726e754
Remove expr_parentheses_needed from ParseSess
2022-09-30 01:39:20 +00:00
Xiretza
d7c64574e0
Implement IntoDiagnosticArg for rustc_ast::token::Token(Kind)
2022-09-27 20:29:19 +02:00
Xiretza
caefac034e
Document use of Symbol::to_string()
2022-09-27 20:29:19 +02:00
Xiretza
00f95468c4
Migrate even more diagnostics in rustc_parse to diagnostic structs
2022-09-27 20:29:19 +02:00
Xiretza
760c4352d6
Migrate "struct literal body without path" error to diagnostic struct
2022-09-27 20:29:19 +02:00
Xiretza
ba10f2c0f2
Migrate "expected semicolon" diagnostics to diagnostic structs
2022-09-27 20:29:19 +02:00
Xiretza
7507ee29fc
Migrate "expected identifier" diagnostics to diagnostic structs
2022-09-27 20:29:19 +02:00
Xiretza
e1b1d7b029
Migrate more rustc_parse diagnostics to diagnostic structs
2022-09-27 20:29:18 +02:00
Xiretza
e56d6a68db
Move rustc_parse diagnostic structs to separate module
2022-09-27 20:29:18 +02:00
Xiretza
6ae7a30927
Migrate "invalid literal suffix" diagnostic to diagnostic structs
2022-09-27 20:29:18 +02:00
Xiretza
ab7c7dc7ce
Migrate more diagnostics in rustc_parse to diagnostic structs
2022-09-27 20:29:18 +02:00
Matthias Krüger
6f5e8c2ed4
Rollup merge of #102286 - compiler-errors:recover-semi-in-block-item, r=davidtwco
...
Recover some items that expect braces and don't take semicolons
Fixes #102262
2022-09-26 19:19:21 +02:00
Michael Goulet
4d0d688a3c
Recover some items that expect braces and don't take semicolons
2022-09-25 22:34:25 +00:00
Xiretza
ae56d2a118
Add missing code="" attributes to suggestion subdiagnostics
2022-09-22 17:25:50 +02:00
Jhonny Bill Mena
e52e2344dc
FIX - adopt new Diagnostic naming in newly migrated modules
...
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-21 11:43:22 -04:00
Jhonny Bill Mena
5f91719f75
UPDATE - rename SessionSubdiagnostic macro to Subdiagnostic
...
Also renames:
- sym::AddSubdiagnostic to sym:: Subdiagnostic
- rustc_diagnostic_item = "AddSubdiagnostic" to rustc_diagnostic_item = "Subdiagnostic"
2022-09-21 11:39:53 -04:00
Jhonny Bill Mena
a3396b2070
UPDATE - rename DiagnosticHandler macro to Diagnostic
2022-09-21 11:39:53 -04:00
Jhonny Bill Mena
19b348fed4
UPDATE - rename DiagnosticHandler trait to IntoDiagnostic
2022-09-21 11:39:52 -04:00
yukang
484b612909
use subdiagnostic for logical negation, bitwise not
2022-09-16 14:41:42 +08:00
yukang
f43562b95b
more tweak on diagnostic messages
2022-09-15 22:39:16 +08:00
yukang
ddb225f1f5
fixes #101477 : Recover from typo where == is used in place of =
2022-09-08 15:14:18 +08:00
bors
a594044533
Auto merge of #101362 - compiler-errors:unnecessary-let, r=cjgillot
...
Suggest removing unnecessary prefix let in patterns
Helps with #101291 , though I think `@estebank` probably wants this:
> Finally, I think it'd be nice if we could detect that we don't know for sure and "just" swallow the rest of the expression (find the next ; accounting for nested braces) or the end of the item (easier).
... to be implemented before we close that issue out completely.
2022-09-06 08:49:54 +00:00
Michael Goulet
91674cc56c
Suggest removing unnecessary prefix let in patterns
2022-09-03 05:39:46 +00:00
Cameron Steffen
02ba216e3c
Refactor and re-use BindingAnnotation
2022-09-02 12:55:05 -05:00
Oli Scherer
ee3c835018
Always import all tracing macros for the entire crate instead of piecemeal by module
2022-09-01 14:54:27 +00:00
bors
ce36e88256
Auto merge of #100497 - kadiwa4:remove_clone_into_iter, r=cjgillot
...
Avoid cloning a collection only to iterate over it
`@rustbot` label: +C-cleanup
2022-08-28 18:31:08 +00:00
yukang
351acc87f5
parser will not give wrong help message for 'public'
2022-08-23 17:02:40 +08:00
Matthias Krüger
54d0f50677
Rollup merge of #100565 - TaKO8Ki:suggest-adding-missing-semicolon-before-item, r=compiler-errors
...
Suggest adding a missing semicolon before an item
fixes #100533
2022-08-23 06:55:24 +02:00
Dylan DPC
75b7089d1e
Rollup merge of #100713 - Xiretza:parser-expr-session-diagnostics, r=estebank
...
Convert diagnostics in parser/expr to SessionDiagnostic
This migrates all the easy cases in `rustc_parse::parser::expr` to `SessionDiagnostic`s, I've left things such as `multipart_suggestion`s out for now in the hopes of a derive API being developed soon.
2022-08-22 20:34:14 +05:30
Nicholas Nethercote
619b8abaa6
Use AttrVec
in more places.
...
In some places we use `Vec<Attribute>` and some places we use
`ThinVec<Attribute>` (a.k.a. `AttrVec`). This results in various points
where we have to convert between `Vec` and `ThinVec`.
This commit changes the places that use `Vec<Attribute>` to use
`AttrVec`. A lot of this is mechanical and boring, but there are
some interesting parts:
- It adds a few new methods to `ThinVec`.
- It implements `MapInPlace` for `ThinVec`, and introduces a macro to
avoid the repetition of this trait for `Vec`, `SmallVec`, and
`ThinVec`.
Overall, it makes the code a little nicer, and has little effect on
performance. But it is a precursor to removing
`rustc_data_structures::thin_vec::ThinVec` and replacing it with
`thin_vec::ThinVec`, which is implemented more efficiently.
2022-08-22 07:35:33 +10:00
Xiretza
ffcaa0dee2
Migrate diagnostics in parser/expr to SessionDiagnostic
2022-08-21 14:54:05 +02:00
Xiretza
7f3a6fd7f6
Replace #[lint/warning/error] with #[diag]
2022-08-21 09:17:43 +02:00
Matthias Krüger
af89769c82
Rollup merge of #100750 - 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-20 07:09:05 +02:00
akabinds
1b54ad0585
added improved diagnostic for a function defined with an invalid qualifier
2022-08-18 16:14:04 -05:00
Xiretza
e8499cfadc
Migrate "invalid variable declaration" errors to SessionDiagnostic
2022-08-17 19:08:37 +02:00
Matthias Krüger
e14d12cb66
Rollup merge of #100559 - nnethercote:parser-simplifications, r=compiler-errors
...
Parser simplifications
Best reviewed one commit at a time.
r? ``@compiler-errors``
2022-08-15 20:11:38 +02:00
Takayuki Maeda
40dcf89a26
suggest adding a missing semicolon before an item
2022-08-15 16:10:31 +09:00