You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
That will allow to return early on and in particular skip Ty translation into diagnostic message, which would call DiagCtxt::set_must_produce_diag, forcing the Diag to be emitted. So before it's even possible, we need to ensure that the Diag will actually be emitted, and if not, we return early with None.
See if we can get rid of BuiltinLintDiag in 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
This is a tracking issue for the
LintDiagnosticmigration 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
LintDiagnostic#152811LintDiagnosticitems by adding API and migratingLinkerOutputlint #152933LintDiagnostic- part 2 #153016LintDiagnostic- part 3 #153051LintDiagnostic- part 4 #153091LintDiagnostic- part 5 #153152LintDiagnostic- part 6 #153352LintDiagnostic- part 7 #153401TyCtxt::node_span_lintmethod #153621rustc_middle::lint::diag_lint_levelintolint_level#153787opt_span_diag_lintintoopt_span_lintand removeemit_diag_lint#153820Removing
BuiltinLintDiagDecorateDiagCompat::Builtinitems toDecorateDiagCompat::Dynamic#154120BuiltinLintDiagvariants #154224BuiltinLintDiagvariants - part 2 #154303BuiltinLintDiag#154912Removing
AttributeLintKindAttributeLint#154432AttributeLintKindvariants - part 2 #155504AttributeLintKindvariants - part 3 #155529AttributeLintKindvariants - part 4 #155560AttributeLintKindvariants - part 5 #155590AttributeLintKindvariants - part 6 #155661AttributeLintKindvariants - part 7 #155706AttributeLintKind#155760Cleanup
SharedContext::emit_dyn_lint*intoemit_lint*#155936opt_ast_lowering_delayed_lintsquery to allow "stealing" lints, allowing to useFnOnceinstead ofFn#155949Diagnosticdirectly inSharedContext::emit_lint#156002TODO list
opt_span_diag_lintMigration ofLintDiagnostic- part 4 #153091 (comment)lint_level, we will need to updateDiagnostic::into_diagso that it looks like: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.BuiltinLintDiagin favour of a boxed diagnostic of some kind