Skip to content

Commit 484884a

Browse files
committed
Introduce a prelude for very common imports across dozens of files
1 parent e018a12 commit 484884a

23 files changed

+70
-216
lines changed

compiler/rustc_attr_parsing/src/attributes/allow_unstable.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
11
use std::iter;
22

3-
use rustc_feature::{AttributeTemplate, template};
4-
use rustc_hir::attrs::AttributeKind;
5-
use rustc_hir::{MethodKind, Target};
6-
use rustc_span::{Span, Symbol, sym};
7-
8-
use super::{CombineAttributeParser, ConvertFn};
9-
use crate::context::{AcceptContext, Stage};
10-
use crate::parser::ArgParser;
3+
use super::prelude::*;
114
use crate::session_diagnostics;
12-
use crate::target_checking::AllowedTargets;
13-
use crate::target_checking::Policy::{Allow, Warn};
145

156
pub(crate) struct AllowInternalUnstableParser;
167
impl<S: Stage> CombineAttributeParser<S> for AllowInternalUnstableParser {

compiler/rustc_attr_parsing/src/attributes/body.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
//! Attributes that can be found in function body.
22
3-
use rustc_hir::Target;
4-
use rustc_hir::attrs::AttributeKind;
5-
use rustc_span::{Symbol, sym};
6-
7-
use super::{NoArgsAttributeParser, OnDuplicate};
8-
use crate::context::Stage;
9-
use crate::target_checking::AllowedTargets;
10-
use crate::target_checking::Policy::Allow;
3+
use super::prelude::*;
114

125
pub(crate) struct CoroutineParser;
136

compiler/rustc_attr_parsing/src/attributes/codegen_attrs.rs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
1-
use rustc_feature::{AttributeTemplate, template};
2-
use rustc_hir::attrs::{AttributeKind, CoverageAttrKind, OptimizeAttr, UsedBy};
3-
use rustc_hir::{MethodKind, Target};
1+
use rustc_hir::attrs::{CoverageAttrKind, OptimizeAttr, UsedBy};
42
use rustc_session::parse::feature_err;
5-
use rustc_span::{Span, Symbol, sym};
6-
7-
use super::{
8-
AcceptMapping, AttributeOrder, AttributeParser, CombineAttributeParser, ConvertFn,
9-
NoArgsAttributeParser, OnDuplicate, SingleAttributeParser,
10-
};
11-
use crate::context::{AcceptContext, FinalizeContext, Stage};
12-
use crate::parser::ArgParser;
3+
4+
use super::prelude::*;
135
use crate::session_diagnostics::{NakedFunctionIncompatibleAttribute, NullOnExport};
14-
use crate::target_checking::AllowedTargets;
15-
use crate::target_checking::Policy::{Allow, Warn};
166

177
pub(crate) struct OptimizeParser;
188

compiler/rustc_attr_parsing/src/attributes/confusables.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
1-
use rustc_feature::template;
2-
use rustc_hir::attrs::AttributeKind;
3-
use rustc_hir::{MethodKind, Target};
4-
use rustc_span::{Span, Symbol, sym};
5-
use thin_vec::ThinVec;
6-
7-
use super::{AcceptMapping, AttributeParser};
8-
use crate::context::{FinalizeContext, Stage};
9-
use crate::session_diagnostics;
10-
use crate::target_checking::AllowedTargets;
11-
use crate::target_checking::Policy::Allow;
1+
use super::prelude::*;
2+
use crate::session_diagnostics::EmptyConfusables;
123

134
#[derive(Default)]
145
pub(crate) struct ConfusablesParser {
@@ -27,7 +18,7 @@ impl<S: Stage> AttributeParser<S> for ConfusablesParser {
2718
};
2819

2920
if list.is_empty() {
30-
cx.emit_err(session_diagnostics::EmptyConfusables { span: cx.attr_span });
21+
cx.emit_err(EmptyConfusables { span: cx.attr_span });
3122
}
3223

3324
for param in list.mixed() {

compiler/rustc_attr_parsing/src/attributes/deprecation.rs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
use rustc_feature::{AttributeTemplate, template};
2-
use rustc_hir::attrs::{AttributeKind, DeprecatedSince, Deprecation};
3-
use rustc_hir::{MethodKind, Target};
4-
use rustc_span::{Span, Symbol, sym};
1+
use rustc_hir::attrs::{DeprecatedSince, Deprecation};
52

3+
use super::prelude::*;
64
use super::util::parse_version;
7-
use super::{AttributeOrder, OnDuplicate, SingleAttributeParser};
8-
use crate::context::{AcceptContext, Stage};
9-
use crate::parser::ArgParser;
10-
use crate::session_diagnostics;
11-
use crate::target_checking::AllowedTargets;
12-
use crate::target_checking::Policy::{Allow, Error};
5+
use crate::session_diagnostics::{
6+
DeprecatedItemSuggestion, InvalidSince, MissingNote, MissingSince,
7+
};
138

149
pub(crate) struct DeprecationParser;
1510

@@ -104,7 +99,7 @@ impl<S: Stage> SingleAttributeParser<S> for DeprecationParser {
10499
}
105100
Some(name @ sym::suggestion) => {
106101
if !features.deprecated_suggestion() {
107-
cx.emit_err(session_diagnostics::DeprecatedItemSuggestion {
102+
cx.emit_err(DeprecatedItemSuggestion {
108103
span: param.span(),
109104
is_nightly: cx.sess().is_nightly_build(),
110105
details: (),
@@ -146,18 +141,18 @@ impl<S: Stage> SingleAttributeParser<S> for DeprecationParser {
146141
} else if let Some(version) = parse_version(since) {
147142
DeprecatedSince::RustcVersion(version)
148143
} else {
149-
cx.emit_err(session_diagnostics::InvalidSince { span: cx.attr_span });
144+
cx.emit_err(InvalidSince { span: cx.attr_span });
150145
DeprecatedSince::Err
151146
}
152147
} else if is_rustc {
153-
cx.emit_err(session_diagnostics::MissingSince { span: cx.attr_span });
148+
cx.emit_err(MissingSince { span: cx.attr_span });
154149
DeprecatedSince::Err
155150
} else {
156151
DeprecatedSince::Unspecified
157152
};
158153

159154
if is_rustc && note.is_none() {
160-
cx.emit_err(session_diagnostics::MissingNote { span: cx.attr_span });
155+
cx.emit_err(MissingNote { span: cx.attr_span });
161156
return None;
162157
}
163158

compiler/rustc_attr_parsing/src/attributes/inline.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,9 @@
22
// note: need to model better how duplicate attr errors work when not using
33
// SingleAttributeParser which is what we have two of here.
44

5-
use rustc_feature::{AttributeTemplate, template};
65
use rustc_hir::attrs::{AttributeKind, InlineAttr};
7-
use rustc_hir::lints::AttributeLintKind;
8-
use rustc_hir::{MethodKind, Target};
9-
use rustc_span::{Symbol, sym};
106

11-
use super::{AcceptContext, AttributeOrder, OnDuplicate};
12-
use crate::attributes::SingleAttributeParser;
13-
use crate::context::Stage;
14-
use crate::parser::ArgParser;
15-
use crate::target_checking::AllowedTargets;
16-
use crate::target_checking::Policy::{Allow, Warn};
7+
use super::prelude::*;
178

189
pub(crate) struct InlineParser;
1910

compiler/rustc_attr_parsing/src/attributes/link_attrs.rs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,9 @@
1-
use rustc_feature::{AttributeTemplate, template};
21
use rustc_hir::attrs::AttributeKind::{LinkName, LinkOrdinal, LinkSection};
3-
use rustc_hir::attrs::{AttributeKind, Linkage};
4-
use rustc_hir::{MethodKind, Target};
5-
use rustc_span::{Span, Symbol, sym};
6-
7-
use crate::attributes::{
8-
AttributeOrder, NoArgsAttributeParser, OnDuplicate, SingleAttributeParser,
9-
};
10-
use crate::context::{AcceptContext, Stage};
11-
use crate::parser::ArgParser;
12-
use crate::session_diagnostics::{LinkOrdinalOutOfRange, NullOnLinkSection};
13-
use crate::target_checking::Policy::Allow;
14-
use crate::target_checking::{ALL_TARGETS, AllowedTargets};
2+
use rustc_hir::attrs::Linkage;
153

4+
use super::prelude::*;
165
use super::util::parse_single_integer;
6+
use crate::session_diagnostics::{LinkOrdinalOutOfRange, NullOnLinkSection};
177

188
pub(crate) struct LinkNameParser;
199

compiler/rustc_attr_parsing/src/attributes/lint_helpers.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
use rustc_hir::attrs::AttributeKind;
2-
use rustc_hir::{MethodKind, Target};
3-
use rustc_span::{Span, Symbol, sym};
4-
5-
use crate::attributes::{NoArgsAttributeParser, OnDuplicate};
6-
use crate::context::Stage;
7-
use crate::target_checking::AllowedTargets;
8-
use crate::target_checking::Policy::{Allow, Error};
1+
use super::prelude::*;
92

103
pub(crate) struct AsPtrParser;
114
impl<S: Stage> NoArgsAttributeParser<S> for AsPtrParser {

compiler/rustc_attr_parsing/src/attributes/loop_match.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
use rustc_hir::Target;
2-
use rustc_hir::attrs::AttributeKind;
3-
use rustc_span::{Span, Symbol, sym};
4-
5-
use crate::attributes::{NoArgsAttributeParser, OnDuplicate};
6-
use crate::context::Stage;
7-
use crate::target_checking::AllowedTargets;
8-
use crate::target_checking::Policy::Allow;
1+
use super::prelude::*;
92

103
pub(crate) struct LoopMatchParser;
114
impl<S: Stage> NoArgsAttributeParser<S> for LoopMatchParser {

compiler/rustc_attr_parsing/src/attributes/macro_attrs.rs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
11
use rustc_errors::DiagArgValue;
2-
use rustc_feature::{AttributeTemplate, template};
3-
use rustc_hir::Target;
4-
use rustc_hir::attrs::{AttributeKind, MacroUseArgs};
5-
use rustc_span::{Span, Symbol, sym};
6-
use thin_vec::ThinVec;
2+
use rustc_hir::attrs::MacroUseArgs;
73

8-
use crate::attributes::{AcceptMapping, AttributeParser, NoArgsAttributeParser, OnDuplicate};
9-
use crate::context::{AcceptContext, FinalizeContext, Stage};
10-
use crate::parser::ArgParser;
11-
use crate::session_diagnostics;
12-
use crate::target_checking::AllowedTargets;
13-
use crate::target_checking::Policy::{Allow, Error, Warn};
4+
use super::prelude::*;
5+
use crate::session_diagnostics::IllFormedAttributeInputLint;
146

157
pub(crate) struct MacroEscapeParser;
168
impl<S: Stage> NoArgsAttributeParser<S> for MacroEscapeParser {
@@ -110,7 +102,7 @@ impl<S: Stage> AttributeParser<S> for MacroUseParser {
110102
}
111103
ArgParser::NameValue(_) => {
112104
let suggestions = MACRO_USE_TEMPLATE.suggestions(cx.attr_style, sym::macro_use);
113-
cx.emit_err(session_diagnostics::IllFormedAttributeInputLint {
105+
cx.emit_err(IllFormedAttributeInputLint {
114106
num_suggestions: suggestions.len(),
115107
suggestions: DiagArgValue::StrListSepByAnd(
116108
suggestions.into_iter().map(|s| format!("`{s}`").into()).collect(),

0 commit comments

Comments
 (0)