Migrate BuiltinLintDiag::UnexpectedBuiltinCfg to use LintDiagnostic directly
This commit is contained in:
@@ -870,10 +870,6 @@ lint_undropped_manually_drops = calls to `std::mem::drop` with `std::mem::Manual
|
||||
.label = argument has type `{$arg_ty}`
|
||||
.suggestion = use `std::mem::ManuallyDrop::into_inner` to get the inner value
|
||||
|
||||
lint_unexpected_builtin_cfg = unexpected `--cfg {$cfg}` flag
|
||||
.controlled_by = config `{$cfg_name}` is only supposed to be controlled by `{$controlled_by}`
|
||||
.incoherent = manually setting a built-in cfg can and does create incoherent behaviors
|
||||
|
||||
lint_unexpected_cfg_add_build_rs_println = or consider adding `{$build_rs_println}` to the top of the `build.rs`
|
||||
lint_unexpected_cfg_add_cargo_feature = consider using a Cargo feature instead
|
||||
lint_unexpected_cfg_add_cargo_toml_lint_cfg = or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:{$cargo_toml_lint_cfg}
|
||||
|
||||
@@ -475,8 +475,5 @@ pub fn decorate_builtin_lint(
|
||||
BuiltinLintDiag::OutOfScopeMacroCalls { span, path, location } => {
|
||||
lints::OutOfScopeMacroCalls { span, path, location }.decorate_lint(diag)
|
||||
}
|
||||
BuiltinLintDiag::UnexpectedBuiltinCfg { cfg, cfg_name, controlled_by } => {
|
||||
lints::UnexpectedBuiltinCfg { cfg, cfg_name, controlled_by }.decorate_lint(diag)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2566,16 +2566,6 @@ pub(crate) mod unexpected_cfg_value {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(LintDiagnostic)]
|
||||
#[diag(lint_unexpected_builtin_cfg)]
|
||||
#[note(lint_controlled_by)]
|
||||
#[note(lint_incoherent)]
|
||||
pub(crate) struct UnexpectedBuiltinCfg {
|
||||
pub(crate) cfg: String,
|
||||
pub(crate) cfg_name: Symbol,
|
||||
pub(crate) controlled_by: &'static str,
|
||||
}
|
||||
|
||||
#[derive(LintDiagnostic)]
|
||||
#[diag(lint_macro_use_deprecated)]
|
||||
#[help]
|
||||
|
||||
@@ -810,11 +810,6 @@ pub enum BuiltinLintDiag {
|
||||
path: String,
|
||||
location: String,
|
||||
},
|
||||
UnexpectedBuiltinCfg {
|
||||
cfg: String,
|
||||
cfg_name: Symbol,
|
||||
controlled_by: &'static str,
|
||||
},
|
||||
}
|
||||
|
||||
pub type RegisteredTools = FxIndexSet<Ident>;
|
||||
|
||||
@@ -131,6 +131,10 @@ session_target_small_data_threshold_not_supported = `-Z small-data-threshold` is
|
||||
|
||||
session_target_stack_protector_not_supported = `-Z stack-protector={$stack_protector}` is not supported for target {$target_triple} and will be ignored
|
||||
|
||||
session_unexpected_builtin_cfg = unexpected `--cfg {$cfg}` flag
|
||||
.controlled_by = config `{$cfg_name}` is only supposed to be controlled by `{$controlled_by}`
|
||||
.incoherent = manually setting a built-in cfg can and does create incoherent behaviors
|
||||
|
||||
session_unleashed_feature_help_named = skipping check for `{$gate}` feature
|
||||
session_unleashed_feature_help_unnamed = skipping check that does not even have a feature gate
|
||||
|
||||
|
||||
@@ -26,13 +26,12 @@ use std::iter;
|
||||
use rustc_abi::Align;
|
||||
use rustc_ast::ast;
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexSet};
|
||||
use rustc_lint_defs::BuiltinLintDiag;
|
||||
use rustc_lint_defs::builtin::EXPLICIT_BUILTIN_CFGS_IN_FLAGS;
|
||||
use rustc_span::{Symbol, sym};
|
||||
use rustc_target::spec::{PanicStrategy, RelocModel, SanitizerSet, Target};
|
||||
|
||||
use crate::Session;
|
||||
use crate::config::{CrateType, FmtDebug};
|
||||
use crate::{Session, errors};
|
||||
|
||||
/// The parsed `--cfg` options that define the compilation environment of the
|
||||
/// crate, used to drive conditional compilation.
|
||||
@@ -99,7 +98,7 @@ pub(crate) fn disallow_cfgs(sess: &Session, user_cfgs: &Cfg) {
|
||||
EXPLICIT_BUILTIN_CFGS_IN_FLAGS,
|
||||
None,
|
||||
ast::CRATE_NODE_ID,
|
||||
BuiltinLintDiag::UnexpectedBuiltinCfg { cfg, cfg_name, controlled_by }.into(),
|
||||
errors::UnexpectedBuiltinCfg { cfg, cfg_name, controlled_by }.into(),
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ use rustc_errors::{
|
||||
Diag, DiagCtxtHandle, DiagMessage, Diagnostic, EmissionGuarantee, ErrorGuaranteed, Level,
|
||||
MultiSpan,
|
||||
};
|
||||
use rustc_macros::{Diagnostic, Subdiagnostic};
|
||||
use rustc_macros::{Diagnostic, LintDiagnostic, Subdiagnostic};
|
||||
use rustc_span::{Span, Symbol};
|
||||
use rustc_target::spec::{SplitDebuginfo, StackProtector, TargetTuple};
|
||||
|
||||
@@ -505,3 +505,13 @@ pub(crate) struct SoftFloatIgnored;
|
||||
#[note]
|
||||
#[note(session_soft_float_deprecated_issue)]
|
||||
pub(crate) struct SoftFloatDeprecated;
|
||||
|
||||
#[derive(LintDiagnostic)]
|
||||
#[diag(session_unexpected_builtin_cfg)]
|
||||
#[note(session_controlled_by)]
|
||||
#[note(session_incoherent)]
|
||||
pub(crate) struct UnexpectedBuiltinCfg {
|
||||
pub(crate) cfg: String,
|
||||
pub(crate) cfg_name: Symbol,
|
||||
pub(crate) controlled_by: &'static str,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user