Add suggestion to upgrade the compiler
This commit is contained in:
parent
1d8d7b16cb
commit
b55faad314
3 changed files with 22 additions and 0 deletions
|
@ -24,6 +24,9 @@ session_feature_diagnostic_for_issue =
|
|||
session_feature_diagnostic_help =
|
||||
add `#![feature({$feature})]` to the crate attributes to enable
|
||||
|
||||
session_feature_suggest_upgrade_compiler =
|
||||
this compiler is version {$version} built on {$date}, consider upgrading?
|
||||
|
||||
session_file_is_not_writeable = output file {$file} is not writeable -- check its permissions
|
||||
|
||||
session_file_write_fail = failed to write `{$path}` due to error `{$err}`
|
||||
|
|
|
@ -30,6 +30,22 @@ pub struct FeatureDiagnosticForIssue {
|
|||
pub n: NonZeroU32,
|
||||
}
|
||||
|
||||
#[derive(Subdiagnostic)]
|
||||
#[note(session_feature_suggest_upgrade_compiler)]
|
||||
pub struct SuggestUpgradeCompiler {
|
||||
version: &'static str,
|
||||
date: &'static str,
|
||||
}
|
||||
|
||||
impl SuggestUpgradeCompiler {
|
||||
pub fn new() -> Self {
|
||||
let version = option_env!("CFG_VERSION").unwrap_or("unknown");
|
||||
let date = option_env!("CFG_VER_DATE").unwrap_or("unknown");
|
||||
|
||||
Self { version, date }
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Subdiagnostic)]
|
||||
#[help(session_feature_diagnostic_help)]
|
||||
pub struct FeatureDiagnosticHelp {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
use crate::config::{Cfg, CheckCfg};
|
||||
use crate::errors::{
|
||||
CliFeatureDiagnosticHelp, FeatureDiagnosticForIssue, FeatureDiagnosticHelp, FeatureGateError,
|
||||
SuggestUpgradeCompiler,
|
||||
};
|
||||
use crate::lint::{
|
||||
builtin::UNSTABLE_SYNTAX_PRE_EXPANSION, BufferedEarlyLint, BuiltinLintDiagnostics, Lint, LintId,
|
||||
|
@ -179,6 +180,8 @@ pub fn add_feature_diagnostics_for_issue(
|
|||
} else {
|
||||
err.subdiagnostic(FeatureDiagnosticHelp { feature });
|
||||
}
|
||||
|
||||
err.subdiagnostic(SuggestUpgradeCompiler::new());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue