diff options
| author | Rejyr <jerrylwang123@gmail.com> | 2022-11-10 19:32:30 -0500 |
|---|---|---|
| committer | Rejyr <jerrylwang123@gmail.com> | 2023-01-09 17:07:25 -0500 |
| commit | 78fce795d8084e288278270438a49df6172dd36c (patch) | |
| tree | 9907484be2d716443081759c39572c44c1bde096 /compiler/rustc_lint/src/builtin.rs | |
| parent | ca7df9a2a9c4b1f751e91040fe659f682c976919 (diff) | |
| download | rust-78fce795d8084e288278270438a49df6172dd36c.tar.gz rust-78fce795d8084e288278270438a49df6172dd36c.zip | |
refactor: refactor to derive for some lints.
Diffstat (limited to 'compiler/rustc_lint/src/builtin.rs')
| -rw-r--r-- | compiler/rustc_lint/src/builtin.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/compiler/rustc_lint/src/builtin.rs b/compiler/rustc_lint/src/builtin.rs index 8a34afb1ff5..1dae563577a 100644 --- a/compiler/rustc_lint/src/builtin.rs +++ b/compiler/rustc_lint/src/builtin.rs @@ -26,7 +26,8 @@ use crate::{ BuiltinAnonymousParams, BuiltinBoxPointers, BuiltinConstNoMangle, BuiltinDeprecatedAttrUsed, BuiltinDerefNullptr, BuiltinEllipsisInclusiveRangePatternsLint, BuiltinExplicitOutlives, BuiltinExplicitOutlivesSuggestion, BuiltinIncompleteFeatures, - BuiltinKeywordIdents, BuiltinMissingCopyImpl, BuiltinMissingDebugImpl, BuiltinMissingDoc, + BuiltinIncompleteFeaturesHelp, BuiltinIncompleteFeaturesNote, BuiltinKeywordIdents, + BuiltinMissingCopyImpl, BuiltinMissingDebugImpl, BuiltinMissingDoc, BuiltinMutablesTransmutes, BuiltinNoMangleGeneric, BuiltinNonShorthandFieldPatterns, BuiltinSpecialModuleNameUsed, BuiltinTrivialBounds, BuiltinUnexpectedCliConfigName, BuiltinUnexpectedCliConfigValue, BuiltinUnnameableTestItems, BuiltinUnreachablePub, @@ -2379,14 +2380,17 @@ impl EarlyLintPass for IncompleteFeatures { .chain(features.declared_lib_features.iter().map(|(name, span)| (name, span))) .filter(|(&name, _)| features.incomplete(name)) .for_each(|(&name, &span)| { + let note = rustc_feature::find_feature_issue(name, GateIssue::Language) + .map(|n| BuiltinIncompleteFeaturesNote { n }); + let help = if HAS_MIN_FEATURES.contains(&name) { + Some(BuiltinIncompleteFeaturesHelp) + } else { + None + }; cx.emit_spanned_lint( INCOMPLETE_FEATURES, span, - BuiltinIncompleteFeatures { - name, - note: rustc_feature::find_feature_issue(name, GateIssue::Language), - help: HAS_MIN_FEATURES.contains(&name).then_some(()), - }, + BuiltinIncompleteFeatures { name, note, help }, ); }); } |
