@@ -21,7 +21,7 @@ use metadata::encoder as e;
21
21
use middle:: region;
22
22
use metadata:: tydecode;
23
23
use metadata:: tydecode:: { DefIdSource , NominalType , TypeWithId , TypeParameter } ;
24
- use metadata:: tydecode:: { RegionParameter , UnboxedClosureSource } ;
24
+ use metadata:: tydecode:: { RegionParameter , ClosureSource } ;
25
25
use metadata:: tyencode;
26
26
use middle:: mem_categorization:: Typer ;
27
27
use middle:: subst;
@@ -618,8 +618,8 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
618
618
fn tr ( & self , dcx : & DecodeContext ) -> MethodOrigin < ' tcx > {
619
619
match * self {
620
620
ty:: MethodStatic ( did) => ty:: MethodStatic ( did. tr ( dcx) ) ,
621
- ty:: MethodStaticUnboxedClosure ( did) => {
622
- ty:: MethodStaticUnboxedClosure ( did. tr ( dcx) )
621
+ ty:: MethodStaticClosure ( did) => {
622
+ ty:: MethodStaticClosure ( did. tr ( dcx) )
623
623
}
624
624
ty:: MethodTypeParam ( ref mp) => {
625
625
ty:: MethodTypeParam (
@@ -643,24 +643,23 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
643
643
}
644
644
}
645
645
646
- pub fn encode_unboxed_closure_kind ( ebml_w : & mut Encoder ,
647
- kind : ty:: UnboxedClosureKind ) {
646
+ pub fn encode_closure_kind ( ebml_w : & mut Encoder , kind : ty:: ClosureKind ) {
648
647
use serialize:: Encoder ;
649
648
650
- ebml_w. emit_enum ( "UnboxedClosureKind " , |ebml_w| {
649
+ ebml_w. emit_enum ( "ClosureKind " , |ebml_w| {
651
650
match kind {
652
- ty:: FnUnboxedClosureKind => {
653
- ebml_w. emit_enum_variant ( "FnUnboxedClosureKind " , 0 , 3 , |_| {
651
+ ty:: FnClosureKind => {
652
+ ebml_w. emit_enum_variant ( "FnClosureKind " , 0 , 3 , |_| {
654
653
Ok ( ( ) )
655
654
} )
656
655
}
657
- ty:: FnMutUnboxedClosureKind => {
658
- ebml_w. emit_enum_variant ( "FnMutUnboxedClosureKind " , 1 , 3 , |_| {
656
+ ty:: FnMutClosureKind => {
657
+ ebml_w. emit_enum_variant ( "FnMutClosureKind " , 1 , 3 , |_| {
659
658
Ok ( ( ) )
660
659
} )
661
660
}
662
- ty:: FnOnceUnboxedClosureKind => {
663
- ebml_w. emit_enum_variant ( "FnOnceUnboxedClosureKind " ,
661
+ ty:: FnOnceClosureKind => {
662
+ ebml_w. emit_enum_variant ( "FnOnceClosureKind " ,
664
663
2 ,
665
664
3 ,
666
665
|_| {
@@ -736,7 +735,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
736
735
this. read_enum_variant ( & [ "vtable_static" ,
737
736
"vtable_param" ,
738
737
"vtable_error" ,
739
- "vtable_unboxed_closure " ] ,
738
+ "vtable_closure " ] ,
740
739
|this, i| {
741
740
Ok ( match i {
742
741
0 => {
@@ -763,7 +762,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
763
762
)
764
763
}
765
764
2 => {
766
- ty:: vtable_unboxed_closure (
765
+ ty:: vtable_closure (
767
766
this. read_enum_variant_arg ( 0 u, |this| {
768
767
Ok ( this. read_def_id_nodcx ( cdata) )
769
768
} ) . unwrap ( )
@@ -865,8 +864,8 @@ impl<'a, 'tcx> rbml_writer_helpers<'tcx> for Encoder<'a> {
865
864
} )
866
865
}
867
866
868
- ty:: MethodStaticUnboxedClosure ( def_id) => {
869
- this. emit_enum_variant ( "MethodStaticUnboxedClosure " , 1 , 1 , |this| {
867
+ ty:: MethodStaticClosure ( def_id) => {
868
+ this. emit_enum_variant ( "MethodStaticClosure " , 1 , 1 , |this| {
870
869
Ok ( this. emit_def_id ( def_id) )
871
870
} )
872
871
}
@@ -1322,15 +1321,12 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext,
1322
1321
} )
1323
1322
}
1324
1323
1325
- for unboxed_closure in tcx. unboxed_closures
1326
- . borrow ( )
1327
- . get ( & ast_util:: local_def ( id) )
1328
- . iter ( ) {
1329
- rbml_w. tag ( c:: tag_table_unboxed_closures, |rbml_w| {
1324
+ for closure in tcx. closures . borrow ( ) . get ( & ast_util:: local_def ( id) ) . iter ( ) {
1325
+ rbml_w. tag ( c:: tag_table_closures, |rbml_w| {
1330
1326
rbml_w. id ( id) ;
1331
1327
rbml_w. tag ( c:: tag_table_val, |rbml_w| {
1332
- rbml_w. emit_closure_type ( ecx, & unboxed_closure . closure_type ) ;
1333
- encode_unboxed_closure_kind ( rbml_w, unboxed_closure . kind )
1328
+ rbml_w. emit_closure_type ( ecx, & closure . closure_type ) ;
1329
+ encode_closure_kind ( rbml_w, closure . kind )
1334
1330
} )
1335
1331
} )
1336
1332
}
@@ -1369,8 +1365,8 @@ trait rbml_decoder_decoder_helpers<'tcx> {
1369
1365
-> subst:: Substs < ' tcx > ;
1370
1366
fn read_auto_adjustment < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
1371
1367
-> ty:: AutoAdjustment < ' tcx > ;
1372
- fn read_unboxed_closure < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
1373
- -> ty:: UnboxedClosure < ' tcx > ;
1368
+ fn read_closure < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
1369
+ -> ty:: Closure < ' tcx > ;
1374
1370
fn read_auto_deref_ref < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
1375
1371
-> ty:: AutoDerefRef < ' tcx > ;
1376
1372
fn read_autoref < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
@@ -1436,7 +1432,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
1436
1432
-> ty:: MethodOrigin < ' tcx >
1437
1433
{
1438
1434
self . read_enum ( "MethodOrigin" , |this| {
1439
- let variants = & [ "MethodStatic" , "MethodStaticUnboxedClosure " ,
1435
+ let variants = & [ "MethodStatic" , "MethodStaticClosure " ,
1440
1436
"MethodTypeParam" , "MethodTraitObject" ] ;
1441
1437
this. read_enum_variant ( variants, |this, i| {
1442
1438
Ok ( match i {
@@ -1447,7 +1443,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
1447
1443
1448
1444
1 => {
1449
1445
let def_id = this. read_def_id ( dcx) ;
1450
- ty:: MethodStaticUnboxedClosure ( def_id)
1446
+ ty:: MethodStaticClosure ( def_id)
1451
1447
}
1452
1448
1453
1449
2 => {
@@ -1797,8 +1793,8 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
1797
1793
} ) . unwrap ( )
1798
1794
}
1799
1795
1800
- fn read_unboxed_closure < ' b , ' c > ( & mut self , dcx : & DecodeContext < ' b , ' c , ' tcx > )
1801
- -> ty:: UnboxedClosure < ' tcx > {
1796
+ fn read_closure < ' b , ' c > ( & mut self , dcx : & DecodeContext < ' b , ' c , ' tcx > )
1797
+ -> ty:: Closure < ' tcx > {
1802
1798
let closure_type = self . read_opaque ( |this, doc| {
1803
1799
Ok ( tydecode:: parse_ty_closure_data (
1804
1800
doc. data ,
@@ -1808,21 +1804,21 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
1808
1804
|s, a| this. convert_def_id ( dcx, s, a) ) )
1809
1805
} ) . unwrap ( ) ;
1810
1806
let variants = & [
1811
- "FnUnboxedClosureKind " ,
1812
- "FnMutUnboxedClosureKind " ,
1813
- "FnOnceUnboxedClosureKind "
1807
+ "FnClosureKind " ,
1808
+ "FnMutClosureKind " ,
1809
+ "FnOnceClosureKind "
1814
1810
] ;
1815
- let kind = self . read_enum ( "UnboxedClosureKind " , |this| {
1811
+ let kind = self . read_enum ( "ClosureKind " , |this| {
1816
1812
this. read_enum_variant ( variants, |_, i| {
1817
1813
Ok ( match i {
1818
- 0 => ty:: FnUnboxedClosureKind ,
1819
- 1 => ty:: FnMutUnboxedClosureKind ,
1820
- 2 => ty:: FnOnceUnboxedClosureKind ,
1821
- _ => panic ! ( "bad enum variant for ty::UnboxedClosureKind " ) ,
1814
+ 0 => ty:: FnClosureKind ,
1815
+ 1 => ty:: FnMutClosureKind ,
1816
+ 2 => ty:: FnOnceClosureKind ,
1817
+ _ => panic ! ( "bad enum variant for ty::ClosureKind " ) ,
1822
1818
} )
1823
1819
} )
1824
1820
} ) . unwrap ( ) ;
1825
- ty:: UnboxedClosure {
1821
+ ty:: Closure {
1826
1822
closure_type : closure_type,
1827
1823
kind : kind,
1828
1824
}
@@ -1864,7 +1860,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
1864
1860
-> ast:: DefId {
1865
1861
let r = match source {
1866
1862
NominalType | TypeWithId | RegionParameter => dcx. tr_def_id ( did) ,
1867
- TypeParameter | UnboxedClosureSource => dcx. tr_intern_def_id ( did)
1863
+ TypeParameter | ClosureSource => dcx. tr_intern_def_id ( did)
1868
1864
} ;
1869
1865
debug ! ( "convert_def_id(source={:?}, did={:?})={:?}" , source, did, r) ;
1870
1866
return r;
@@ -1959,14 +1955,11 @@ fn decode_side_tables(dcx: &DecodeContext,
1959
1955
let adj: ty:: AutoAdjustment = val_dsr. read_auto_adjustment ( dcx) ;
1960
1956
dcx. tcx . adjustments . borrow_mut ( ) . insert ( id, adj) ;
1961
1957
}
1962
- c:: tag_table_unboxed_closures => {
1963
- let unboxed_closure =
1964
- val_dsr. read_unboxed_closure ( dcx) ;
1965
- dcx. tcx
1966
- . unboxed_closures
1967
- . borrow_mut ( )
1968
- . insert ( ast_util:: local_def ( id) ,
1969
- unboxed_closure) ;
1958
+ c:: tag_table_closures => {
1959
+ let closure =
1960
+ val_dsr. read_closure ( dcx) ;
1961
+ dcx. tcx . closures . borrow_mut ( ) . insert ( ast_util:: local_def ( id) ,
1962
+ closure) ;
1970
1963
}
1971
1964
_ => {
1972
1965
dcx. tcx . sess . bug (
0 commit comments