Consolidate ad-hoc MIR lints into real pass-manager-based MIR lints

This commit is contained in:
Michael Goulet
2025-01-18 21:25:31 +00:00
parent 8e59cf95d5
commit b08f3d5bdb
11 changed files with 120 additions and 110 deletions

View File

@@ -9,6 +9,28 @@ use rustc_span::{Span, Symbol};
use crate::fluent_generated as fluent;
#[derive(LintDiagnostic)]
#[diag(mir_transform_unconditional_recursion)]
#[help]
pub(crate) struct UnconditionalRecursion {
#[label]
pub(crate) span: Span,
#[label(mir_transform_unconditional_recursion_call_site_label)]
pub(crate) call_sites: Vec<Span>,
}
#[derive(Diagnostic)]
#[diag(mir_transform_force_inline_attr)]
#[note]
pub(crate) struct InvalidForceInline {
#[primary_span]
pub attr_span: Span,
#[label(mir_transform_callee)]
pub callee_span: Span,
pub callee: String,
pub reason: &'static str,
}
#[derive(LintDiagnostic)]
pub(crate) enum ConstMutate {
#[diag(mir_transform_const_modify)]