Fix duplicate note on internal feature gate
The BuiltinInternalFeatures gate already has a struct level #[note] attribute. The additional note field in it caused a duplicate to be displayed when it was set to Some(...) which happened when the feature had an associated issue
This commit is contained in:
parent
2e7e0fb838
commit
66e643d0f8
@ -2258,23 +2258,19 @@ fn check_crate(&mut self, cx: &EarlyContext<'_>, _: &ast::Crate) {
|
||||
.chain(features.declared_lib_features.iter().map(|(name, span)| (name, span)))
|
||||
.filter(|(&name, _)| features.incomplete(name) || features.internal(name))
|
||||
.for_each(|(&name, &span)| {
|
||||
if features.incomplete(name) {
|
||||
let note = rustc_feature::find_feature_issue(name, GateIssue::Language)
|
||||
.map(|n| BuiltinFeatureIssueNote { n });
|
||||
|
||||
if features.incomplete(name) {
|
||||
let help =
|
||||
HAS_MIN_FEATURES.contains(&name).then_some(BuiltinIncompleteFeaturesHelp);
|
||||
|
||||
cx.emit_spanned_lint(
|
||||
INCOMPLETE_FEATURES,
|
||||
span,
|
||||
BuiltinIncompleteFeatures { name, note, help },
|
||||
);
|
||||
} else {
|
||||
cx.emit_spanned_lint(
|
||||
INTERNAL_FEATURES,
|
||||
span,
|
||||
BuiltinInternalFeatures { name, note },
|
||||
);
|
||||
cx.emit_spanned_lint(INTERNAL_FEATURES, span, BuiltinInternalFeatures { name });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -412,8 +412,6 @@ pub struct BuiltinIncompleteFeatures {
|
||||
#[note]
|
||||
pub struct BuiltinInternalFeatures {
|
||||
pub name: Symbol,
|
||||
#[subdiagnostic]
|
||||
pub note: Option<BuiltinFeatureIssueNote>,
|
||||
}
|
||||
|
||||
#[derive(Subdiagnostic)]
|
||||
|
Loading…
Reference in New Issue
Block a user