@@ -14,12 +14,10 @@ use errors::FatalError;
14
14
use proc_macro:: { TokenStream , __internal} ;
15
15
use syntax:: ast:: { self , ItemKind , Attribute } ;
16
16
use syntax:: attr:: { mark_used, mark_known} ;
17
- use syntax:: codemap:: { ExpnInfo , MacroAttribute , NameAndSpan , Span } ;
17
+ use syntax:: codemap:: Span ;
18
18
use syntax:: ext:: base:: * ;
19
19
use syntax:: fold:: Folder ;
20
20
use syntax:: parse:: token:: InternedString ;
21
- use syntax:: parse:: token:: intern;
22
- use syntax:: print:: pprust;
23
21
use syntax:: visit:: Visitor ;
24
22
25
23
struct MarkAttrs < ' a > ( & ' a [ InternedString ] ) ;
@@ -50,7 +48,7 @@ impl MultiItemModifier for CustomDerive {
50
48
fn expand ( & self ,
51
49
ecx : & mut ExtCtxt ,
52
50
span : Span ,
53
- meta_item : & ast:: MetaItem ,
51
+ _meta_item : & ast:: MetaItem ,
54
52
item : Annotatable )
55
53
-> Vec < Annotatable > {
56
54
let item = match item {
@@ -75,18 +73,6 @@ impl MultiItemModifier for CustomDerive {
75
73
// Mark attributes as known, and used.
76
74
MarkAttrs ( & self . attrs ) . visit_item ( & item) ;
77
75
78
- let input_span = Span {
79
- expn_id : ecx. codemap ( ) . record_expansion ( ExpnInfo {
80
- call_site : span,
81
- callee : NameAndSpan {
82
- format : MacroAttribute ( intern ( & pprust:: meta_item_to_string ( meta_item) ) ) ,
83
- span : Some ( span) ,
84
- allow_internal_unstable : true ,
85
- } ,
86
- } ) ,
87
- ..item. span
88
- } ;
89
-
90
76
let input = __internal:: new_token_stream ( item. clone ( ) ) ;
91
77
let res = __internal:: set_parse_sess ( & ecx. parse_sess , || {
92
78
let inner = self . inner ;
@@ -113,7 +99,7 @@ impl MultiItemModifier for CustomDerive {
113
99
// Reassign spans of all expanded items to the input `item`
114
100
// for better errors here.
115
101
res. extend ( new_items. into_iter ( ) . flat_map ( |item| {
116
- ChangeSpan { span : input_span } . fold_item ( item)
102
+ ChangeSpan { span : span } . fold_item ( item)
117
103
} ) . map ( Annotatable :: Item ) ) ;
118
104
res
119
105
}
0 commit comments