-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Open
Labels
A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.Area: Lints (warnings about flaws in source code) such as unused_mut.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFC
Description
This is a tracking issue for the LintDiagnostic migration that @GuillaumeGomez and I are doing.
Mostly meant to be a place we can put ideas and keep track of what is left to do.
Implementation history
- The original PR that was split up: Remove
LintDiagnostic#152811 - Start migration for
LintDiagnosticitems by adding API and migratingLinkerOutputlint #152933 - Migration of
LintDiagnostic- part 2 #153016 - Migration of
LintDiagnostic- part 3 #153051 - Migration of
LintDiagnostic- part 4 #153091 - Migration of
LintDiagnostic- part 5 #153152 - Migration of
LintDiagnostic- part 6 #153352 - Cleanup unused diagnostic emission methods #153452
- Cleanup unused diagnostic emission methods - part 2 #153509
- Remove
TyCtxt::node_span_lintmethod #153621
TODO list
- See if we can remove the span argument from
opt_span_diag_lintMigration ofLintDiagnostic- part 4 #153091 (comment)- Possible but because of
lint_level, we will need to updateDiagnostic::into_diagso that it looks like:That will allow to return early on and in particular skipfn into_diag<F: FnOnce(Span) -> bool>(self, dcx: DiagCtxtHandle<'a>, level: Level) -> Option<Diag<'a, G>>
Tytranslation into diagnostic message, which would callDiagCtxt::set_must_produce_diag, forcing theDiagto be emitted. So before it's even possible, we need to ensure that theDiagwill actually be emitted, and if not, we return early withNone.
- Possible but because of
- See if we can get rid of
BuiltinLintDiagin favour of a boxed diagnostic of some kind - See if we can undo the perf regression in decorate_builtin_lint, maybe by using boxed diagnostics everywhere
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.Area: Lints (warnings about flaws in source code) such as unused_mut.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFC