@@ -231,7 +231,7 @@ impl Attribute {
231231 /// Extracts the MetaItem from inside this Attribute.
232232 pub fn meta ( & self ) -> Option < MetaItem > {
233233 match & self . kind {
234- AttrKind :: Normal ( normal) => normal. item . meta ( self . span ) ,
234+ AttrKind :: Normal ( normal) => normal. item . meta ( ) ,
235235 AttrKind :: DocComment ( ..) => None ,
236236 }
237237 }
@@ -297,12 +297,12 @@ impl AttrItem {
297297 }
298298 }
299299
300- pub fn meta ( & self , span : Span ) -> Option < MetaItem > {
300+ pub fn meta ( & self ) -> Option < MetaItem > {
301301 Some ( MetaItem {
302302 unsafety : Safety :: Default ,
303303 path : self . path . clone ( ) ,
304304 kind : self . meta_kind ( ) ?,
305- span,
305+ span : self . span ( ) ,
306306 } )
307307 }
308308
@@ -644,8 +644,15 @@ fn mk_attr(
644644 path : Path ,
645645 args : AttrArgs ,
646646 span : Span ,
647+ inner_span : Span ,
647648) -> 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+ )
649656}
650657
651658pub fn mk_attr_from_item (
@@ -669,10 +676,11 @@ pub fn mk_attr_word(
669676 unsafety : Safety ,
670677 name : Symbol ,
671678 span : Span ,
679+ inner_span : Span ,
672680) -> Attribute {
673681 let path = Path :: from_ident ( Ident :: new ( name, span) ) ;
674682 let args = AttrArgs :: Empty ;
675- mk_attr ( g, style, unsafety, path, args, span)
683+ mk_attr ( g, style, unsafety, path, args, span, inner_span )
676684}
677685
678686pub fn mk_attr_nested_word (
@@ -682,6 +690,7 @@ pub fn mk_attr_nested_word(
682690 outer : Symbol ,
683691 inner : Symbol ,
684692 span : Span ,
693+ inner_span : Span ,
685694) -> Attribute {
686695 let inner_tokens = TokenStream :: new ( vec ! [ TokenTree :: Token (
687696 Token :: from_ast_ident( Ident :: new( inner, span) ) ,
@@ -694,7 +703,7 @@ pub fn mk_attr_nested_word(
694703 delim : Delimiter :: Parenthesis ,
695704 tokens : inner_tokens,
696705 } ) ;
697- mk_attr ( g, style, unsafety, path, attr_args, span)
706+ mk_attr ( g, style, unsafety, path, attr_args, span, inner_span )
698707}
699708
700709pub fn mk_attr_name_value_str (
@@ -704,6 +713,7 @@ pub fn mk_attr_name_value_str(
704713 name : Symbol ,
705714 val : Symbol ,
706715 span : Span ,
716+ inner_span : Span ,
707717) -> Attribute {
708718 let lit = token:: Lit :: new ( token:: Str , escape_string_symbol ( val) , None ) ;
709719 let expr = P ( Expr {
@@ -715,7 +725,7 @@ pub fn mk_attr_name_value_str(
715725 } ) ;
716726 let path = Path :: from_ident ( Ident :: new ( name, span) ) ;
717727 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 )
719729}
720730
721731pub fn filter_by_name < A : AttributeExt > ( attrs : & [ A ] , name : Symbol ) -> impl Iterator < Item = & A > {
0 commit comments