1
1
use crate :: deriving:: generic:: ty:: * ;
2
2
use crate :: deriving:: generic:: * ;
3
3
use rustc_ast as ast;
4
- use rustc_ast:: { walk_list, EnumDef , VariantData } ;
4
+ use rustc_ast:: { attr , walk_list, EnumDef , VariantData } ;
5
5
use rustc_errors:: Applicability ;
6
6
use rustc_expand:: base:: { Annotatable , DummyResult , ExtCtxt } ;
7
7
use rustc_span:: symbol:: Ident ;
@@ -106,7 +106,7 @@ fn extract_default_variant<'a>(
106
106
let default_variants: SmallVec < [ _ ; 1 ] > = enum_def
107
107
. variants
108
108
. iter ( )
109
- . filter ( |variant| cx . sess . contains_name ( & variant. attrs , kw:: Default ) )
109
+ . filter ( |variant| attr :: contains_name ( & variant. attrs , kw:: Default ) )
110
110
. collect ( ) ;
111
111
112
112
let variant = match default_variants. as_slice ( ) {
@@ -116,7 +116,7 @@ fn extract_default_variant<'a>(
116
116
. variants
117
117
. iter ( )
118
118
. filter ( |variant| matches ! ( variant. data, VariantData :: Unit ( ..) ) )
119
- . filter ( |variant| !cx . sess . contains_name ( & variant. attrs , sym:: non_exhaustive) ) ;
119
+ . filter ( |variant| !attr :: contains_name ( & variant. attrs , sym:: non_exhaustive) ) ;
120
120
121
121
let mut diag = cx. struct_span_err ( trait_span, "no default declared" ) ;
122
122
diag. help ( "make a unit variant default by placing `#[default]` above it" ) ;
@@ -146,7 +146,7 @@ fn extract_default_variant<'a>(
146
146
if v. span == variant. span {
147
147
None
148
148
} else {
149
- Some ( ( cx . sess . find_by_name ( & v. attrs , kw:: Default ) ?. span , String :: new ( ) ) )
149
+ Some ( ( attr :: find_by_name ( & v. attrs , kw:: Default ) ?. span , String :: new ( ) ) )
150
150
}
151
151
} )
152
152
. collect ( ) ;
@@ -174,7 +174,7 @@ fn extract_default_variant<'a>(
174
174
return Err ( ( ) ) ;
175
175
}
176
176
177
- if let Some ( non_exhaustive_attr) = cx . sess . find_by_name ( & variant. attrs , sym:: non_exhaustive) {
177
+ if let Some ( non_exhaustive_attr) = attr :: find_by_name ( & variant. attrs , sym:: non_exhaustive) {
178
178
cx. struct_span_err ( variant. ident . span , "default variant must be exhaustive" )
179
179
. span_label ( non_exhaustive_attr. span , "declared `#[non_exhaustive]` here" )
180
180
. help ( "consider a manual implementation of `Default`" )
@@ -191,7 +191,7 @@ fn validate_default_attribute(
191
191
default_variant : & rustc_ast:: Variant ,
192
192
) -> Result < ( ) , ( ) > {
193
193
let attrs: SmallVec < [ _ ; 1 ] > =
194
- cx . sess . filter_by_name ( & default_variant. attrs , kw:: Default ) . collect ( ) ;
194
+ attr :: filter_by_name ( & default_variant. attrs , kw:: Default ) . collect ( ) ;
195
195
196
196
let attr = match attrs. as_slice ( ) {
197
197
[ attr] => attr,
0 commit comments