@@ -37,7 +37,7 @@ fn ref_eq<'a, 'b, T>(thing: &'a T, other: &'b T) -> bool {
37
37
38
38
fn to_intern_str ( ctx : & mut GenCtx , s : String ) -> parse:: token:: InternedString {
39
39
let id = ctx. ext_cx . ident_of ( & s[ ..] ) ;
40
- parse :: token :: get_ident ( id )
40
+ id . name . as_str ( )
41
41
}
42
42
43
43
fn empty_generics ( ) -> ast:: Generics {
@@ -124,20 +124,21 @@ pub fn gen_mod(links: &[(String, LinkType)], globs: Vec<Global>, span: Span) ->
124
124
trace_mac : false ,
125
125
} ;
126
126
let sess = & parse:: ParseSess :: new ( ) ;
127
+ let mut feature_gated_cfgs = Vec :: new ( ) ;
127
128
let mut ctx = GenCtx {
128
129
ext_cx : base:: ExtCtxt :: new (
129
130
sess,
130
131
Vec :: new ( ) ,
131
132
cfg,
133
+ & mut feature_gated_cfgs,
132
134
) ,
133
135
unnamed_ty : 0 ,
134
136
span : span
135
137
} ;
136
138
ctx. ext_cx . bt_push ( ExpnInfo {
137
139
call_site : ctx. span ,
138
140
callee : NameAndSpan {
139
- name : String :: new ( ) ,
140
- format : MacroBang ,
141
+ format : MacroBang ( parse:: token:: intern ( "" ) ) ,
141
142
allow_internal_unstable : false ,
142
143
span : None
143
144
}
@@ -309,7 +310,7 @@ fn mk_extern(ctx: &mut GenCtx, links: &[(String, LinkType)],
309
310
} ;
310
311
respan ( ctx. span , ast:: Attribute_ {
311
312
id : mk_attr_id ( ) ,
312
- style : ast:: AttrOuter ,
313
+ style : ast:: AttrStyle :: Outer ,
313
314
value : P ( respan ( ctx. span , ast:: MetaList (
314
315
to_intern_str ( ctx, "link" . to_string ( ) ) ,
315
316
link_args)
@@ -547,12 +548,8 @@ fn cstruct_to_rs(ctx: &mut GenCtx, name: String,
547
548
}
548
549
}
549
550
550
- let ctor_id = if fields. is_empty ( ) { Some ( ast:: DUMMY_NODE_ID ) } else { None } ;
551
551
let def = ast:: ItemStruct (
552
- P ( ast:: StructDef {
553
- fields : fields,
554
- ctor_id : ctor_id,
555
- } ) ,
552
+ ast:: VariantData :: Struct ( fields, ast:: DUMMY_NODE_ID ) ,
556
553
empty_generics ( )
557
554
) ;
558
555
@@ -634,10 +631,9 @@ fn cunion_to_rs(ctx: &mut GenCtx, name: String, layout: Layout, members: Vec<Com
634
631
let data_field = mk_blob_field ( ctx, data_field_name, layout) ;
635
632
636
633
let def = ast:: ItemStruct (
637
- P ( ast:: StructDef {
638
- fields : vec ! ( data_field) ,
639
- ctor_id : None ,
640
- } ) ,
634
+ ast:: VariantData :: Struct (
635
+ vec ! ( data_field) ,
636
+ ast:: DUMMY_NODE_ID ) ,
641
637
empty_generics ( )
642
638
) ;
643
639
let union_id = rust_type_id ( ctx, name. clone ( ) ) ;
@@ -727,7 +723,7 @@ fn gen_comp_methods(ctx: &mut GenCtx, data_field: &str, data_offset: usize,
727
723
" , f_name, tts_to_string( & ret_ty. to_tokens( & ctx. ext_cx) [ ..] ) , data_field, offset) ;
728
724
729
725
parse:: new_parser_from_source_str ( ctx. ext_cx . parse_sess ( ) ,
730
- ctx. ext_cx . cfg ( ) , "" . to_string ( ) , impl_str) . parse_item ( ) . unwrap ( )
726
+ ctx. ext_cx . cfg ( ) , "" . to_string ( ) , impl_str) . parse_item ( ) . unwrap ( ) . unwrap ( )
731
727
} ;
732
728
733
729
method. and_then ( |i| {
@@ -780,7 +776,7 @@ fn mk_default_impl(ctx: &GenCtx, ty_name: &str) -> P<ast::Item> {
780
776
" , ty_name) ;
781
777
782
778
parse:: new_parser_from_source_str ( ctx. ext_cx . parse_sess ( ) ,
783
- ctx. ext_cx . cfg ( ) , "" . to_string ( ) , impl_str) . parse_item ( ) . unwrap ( )
779
+ ctx. ext_cx . cfg ( ) , "" . to_string ( ) , impl_str) . parse_item ( ) . unwrap ( ) . unwrap ( )
784
780
}
785
781
786
782
// Implements std::clone::Clone using dereferencing
@@ -792,7 +788,7 @@ fn mk_clone_impl(ctx: &GenCtx, ty_name: &str) -> P<ast::Item> {
792
788
" , ty_name) ;
793
789
794
790
parse:: new_parser_from_source_str ( ctx. ext_cx . parse_sess ( ) ,
795
- ctx. ext_cx . cfg ( ) , "" . to_string ( ) , impl_str) . parse_item ( ) . unwrap ( )
791
+ ctx. ext_cx . cfg ( ) , "" . to_string ( ) , impl_str) . parse_item ( ) . unwrap ( ) . unwrap ( )
796
792
}
797
793
798
794
fn mk_blob_field ( ctx : & GenCtx , name : & str , layout : Layout ) -> Spanned < ast:: StructField_ > {
@@ -827,7 +823,7 @@ fn mk_link_name_attr(ctx: &mut GenCtx, name: String) -> ast::Attribute {
827
823
) ) ) ;
828
824
let attr = ast:: Attribute_ {
829
825
id : mk_attr_id ( ) ,
830
- style : ast:: AttrOuter ,
826
+ style : ast:: AttrStyle :: Outer ,
831
827
value : attr_val,
832
828
is_sugared_doc : false
833
829
} ;
@@ -846,7 +842,7 @@ fn mk_repr_attr(ctx: &mut GenCtx, layout: Layout) -> ast::Attribute {
846
842
847
843
respan ( ctx. span , ast:: Attribute_ {
848
844
id : mk_attr_id ( ) ,
849
- style : ast:: AttrOuter ,
845
+ style : ast:: AttrStyle :: Outer ,
850
846
value : attr_val,
851
847
is_sugared_doc : false
852
848
} )
@@ -860,7 +856,7 @@ fn mk_deriving_copy_attr(ctx: &mut GenCtx) -> ast::Attribute {
860
856
861
857
respan ( ctx. span , ast:: Attribute_ {
862
858
id : mk_attr_id ( ) ,
863
- style : ast:: AttrOuter ,
859
+ style : ast:: AttrStyle :: Outer ,
864
860
value : attr_val,
865
861
is_sugared_doc : false
866
862
} )
@@ -1083,7 +1079,8 @@ fn mk_arrty(ctx: &GenCtx, base: &ast::Ty, n: usize) -> ast::Ty {
1083
1079
P ( ast:: Expr {
1084
1080
id : ast:: DUMMY_NODE_ID ,
1085
1081
node : sz,
1086
- span : ctx. span
1082
+ span : ctx. span ,
1083
+ attrs : None ,
1087
1084
} )
1088
1085
) ;
1089
1086
0 commit comments