@@ -231,7 +231,7 @@ impl Attribute {
231
231
/// Extracts the MetaItem from inside this Attribute.
232
232
pub fn meta ( & self ) -> Option < MetaItem > {
233
233
match & self . kind {
234
- AttrKind :: Normal ( normal) => normal. item . meta ( self . span ) ,
234
+ AttrKind :: Normal ( normal) => normal. item . meta ( ) ,
235
235
AttrKind :: DocComment ( ..) => None ,
236
236
}
237
237
}
@@ -297,12 +297,12 @@ impl AttrItem {
297
297
}
298
298
}
299
299
300
- pub fn meta ( & self , span : Span ) -> Option < MetaItem > {
300
+ pub fn meta ( & self ) -> Option < MetaItem > {
301
301
Some ( MetaItem {
302
302
unsafety : Safety :: Default ,
303
303
path : self . path . clone ( ) ,
304
304
kind : self . meta_kind ( ) ?,
305
- span,
305
+ span : self . span ( ) ,
306
306
} )
307
307
}
308
308
@@ -644,8 +644,15 @@ fn mk_attr(
644
644
path : Path ,
645
645
args : AttrArgs ,
646
646
span : Span ,
647
+ inner_span : Span ,
647
648
) -> Attribute {
648
- mk_attr_from_item ( g, AttrItem { unsafety, path, args, tokens : None } , None , style, span)
649
+ mk_attr_from_item (
650
+ g,
651
+ AttrItem { unsafety, path, args, tokens : None , span : inner_span } ,
652
+ None ,
653
+ style,
654
+ span,
655
+ )
649
656
}
650
657
651
658
pub fn mk_attr_from_item (
@@ -669,10 +676,11 @@ pub fn mk_attr_word(
669
676
unsafety : Safety ,
670
677
name : Symbol ,
671
678
span : Span ,
679
+ inner_span : Span ,
672
680
) -> Attribute {
673
681
let path = Path :: from_ident ( Ident :: new ( name, span) ) ;
674
682
let args = AttrArgs :: Empty ;
675
- mk_attr ( g, style, unsafety, path, args, span)
683
+ mk_attr ( g, style, unsafety, path, args, span, inner_span )
676
684
}
677
685
678
686
pub fn mk_attr_nested_word (
@@ -682,6 +690,7 @@ pub fn mk_attr_nested_word(
682
690
outer : Symbol ,
683
691
inner : Symbol ,
684
692
span : Span ,
693
+ inner_span : Span ,
685
694
) -> Attribute {
686
695
let inner_tokens = TokenStream :: new ( vec ! [ TokenTree :: Token (
687
696
Token :: from_ast_ident( Ident :: new( inner, span) ) ,
@@ -694,7 +703,7 @@ pub fn mk_attr_nested_word(
694
703
delim : Delimiter :: Parenthesis ,
695
704
tokens : inner_tokens,
696
705
} ) ;
697
- mk_attr ( g, style, unsafety, path, attr_args, span)
706
+ mk_attr ( g, style, unsafety, path, attr_args, span, inner_span )
698
707
}
699
708
700
709
pub fn mk_attr_name_value_str (
@@ -704,6 +713,7 @@ pub fn mk_attr_name_value_str(
704
713
name : Symbol ,
705
714
val : Symbol ,
706
715
span : Span ,
716
+ inner_span : Span ,
707
717
) -> Attribute {
708
718
let lit = token:: Lit :: new ( token:: Str , escape_string_symbol ( val) , None ) ;
709
719
let expr = P ( Expr {
@@ -715,7 +725,7 @@ pub fn mk_attr_name_value_str(
715
725
} ) ;
716
726
let path = Path :: from_ident ( Ident :: new ( name, span) ) ;
717
727
let args = AttrArgs :: Eq { eq_span : span, expr } ;
718
- mk_attr ( g, style, unsafety, path, args, span)
728
+ mk_attr ( g, style, unsafety, path, args, span, inner_span )
719
729
}
720
730
721
731
pub fn filter_by_name < A : AttributeExt > ( attrs : & [ A ] , name : Symbol ) -> impl Iterator < Item = & A > {
0 commit comments