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