@@ -21,7 +21,7 @@ use metadata::encoder as e;
2121use middle:: region;
2222use metadata:: tydecode;
2323use metadata:: tydecode:: { DefIdSource , NominalType , TypeWithId , TypeParameter } ;
24- use metadata:: tydecode:: { RegionParameter , UnboxedClosureSource } ;
24+ use metadata:: tydecode:: { RegionParameter , ClosureSource } ;
2525use metadata:: tyencode;
2626use middle:: mem_categorization:: Typer ;
2727use middle:: subst;
@@ -448,10 +448,8 @@ impl tr for def::Def {
448448 def:: DefPrimTy ( p) => def:: DefPrimTy ( p) ,
449449 def:: DefTyParam ( s, index, def_id, n) => def:: DefTyParam ( s, index, def_id. tr ( dcx) , n) ,
450450 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) )
455453 }
456454 def:: DefStruct ( did) => def:: DefStruct ( did. tr ( dcx) ) ,
457455 def:: DefRegion ( nid) => def:: DefRegion ( dcx. tr_id ( nid) ) ,
@@ -618,8 +616,8 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
618616 fn tr ( & self , dcx : & DecodeContext ) -> MethodOrigin < ' tcx > {
619617 match * self {
620618 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) )
623621 }
624622 ty:: MethodTypeParam ( ref mp) => {
625623 ty:: MethodTypeParam (
@@ -643,24 +641,23 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
643641 }
644642}
645643
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 ) {
648645 use serialize:: Encoder ;
649646
650- ebml_w. emit_enum ( "UnboxedClosureKind " , |ebml_w| {
647+ ebml_w. emit_enum ( "ClosureKind " , |ebml_w| {
651648 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 , |_| {
654651 Ok ( ( ) )
655652 } )
656653 }
657- ty:: FnMutUnboxedClosureKind => {
658- ebml_w. emit_enum_variant ( "FnMutUnboxedClosureKind " , 1 , 3 , |_| {
654+ ty:: FnMutClosureKind => {
655+ ebml_w. emit_enum_variant ( "FnMutClosureKind " , 1 , 3 , |_| {
659656 Ok ( ( ) )
660657 } )
661658 }
662- ty:: FnOnceUnboxedClosureKind => {
663- ebml_w. emit_enum_variant ( "FnOnceUnboxedClosureKind " ,
659+ ty:: FnOnceClosureKind => {
660+ ebml_w. emit_enum_variant ( "FnOnceClosureKind " ,
664661 2 ,
665662 3 ,
666663 |_| {
@@ -736,7 +733,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
736733 this. read_enum_variant ( & [ "vtable_static" ,
737734 "vtable_param" ,
738735 "vtable_error" ,
739- "vtable_unboxed_closure " ] ,
736+ "vtable_closure " ] ,
740737 |this, i| {
741738 Ok ( match i {
742739 0 => {
@@ -763,7 +760,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
763760 )
764761 }
765762 2 => {
766- ty:: vtable_unboxed_closure (
763+ ty:: vtable_closure (
767764 this. read_enum_variant_arg ( 0 u, |this| {
768765 Ok ( this. read_def_id_nodcx ( cdata) )
769766 } ) . unwrap ( )
@@ -865,8 +862,8 @@ impl<'a, 'tcx> rbml_writer_helpers<'tcx> for Encoder<'a> {
865862 } )
866863 }
867864
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| {
870867 Ok ( this. emit_def_id ( def_id) )
871868 } )
872869 }
@@ -1322,15 +1319,12 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext,
13221319 } )
13231320 }
13241321
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| {
13301324 rbml_w. id ( id) ;
13311325 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 )
13341328 } )
13351329 } )
13361330 }
@@ -1369,8 +1363,8 @@ trait rbml_decoder_decoder_helpers<'tcx> {
13691363 -> subst:: Substs < ' tcx > ;
13701364 fn read_auto_adjustment < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
13711365 -> 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 > ;
13741368 fn read_auto_deref_ref < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
13751369 -> ty:: AutoDerefRef < ' tcx > ;
13761370 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> {
14361430 -> ty:: MethodOrigin < ' tcx >
14371431 {
14381432 self . read_enum ( "MethodOrigin" , |this| {
1439- let variants = & [ "MethodStatic" , "MethodStaticUnboxedClosure " ,
1433+ let variants = & [ "MethodStatic" , "MethodStaticClosure " ,
14401434 "MethodTypeParam" , "MethodTraitObject" ] ;
14411435 this. read_enum_variant ( variants, |this, i| {
14421436 Ok ( match i {
@@ -1447,7 +1441,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
14471441
14481442 1 => {
14491443 let def_id = this. read_def_id ( dcx) ;
1450- ty:: MethodStaticUnboxedClosure ( def_id)
1444+ ty:: MethodStaticClosure ( def_id)
14511445 }
14521446
14531447 2 => {
@@ -1797,8 +1791,8 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
17971791 } ) . unwrap ( )
17981792 }
17991793
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 > {
18021796 let closure_type = self . read_opaque ( |this, doc| {
18031797 Ok ( tydecode:: parse_ty_closure_data (
18041798 doc. data ,
@@ -1808,21 +1802,21 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
18081802 |s, a| this. convert_def_id ( dcx, s, a) ) )
18091803 } ) . unwrap ( ) ;
18101804 let variants = & [
1811- "FnUnboxedClosureKind " ,
1812- "FnMutUnboxedClosureKind " ,
1813- "FnOnceUnboxedClosureKind "
1805+ "FnClosureKind " ,
1806+ "FnMutClosureKind " ,
1807+ "FnOnceClosureKind "
18141808 ] ;
1815- let kind = self . read_enum ( "UnboxedClosureKind " , |this| {
1809+ let kind = self . read_enum ( "ClosureKind " , |this| {
18161810 this. read_enum_variant ( variants, |_, i| {
18171811 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 " ) ,
18221816 } )
18231817 } )
18241818 } ) . unwrap ( ) ;
1825- ty:: UnboxedClosure {
1819+ ty:: Closure {
18261820 closure_type : closure_type,
18271821 kind : kind,
18281822 }
@@ -1864,7 +1858,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
18641858 -> ast:: DefId {
18651859 let r = match source {
18661860 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)
18681862 } ;
18691863 debug ! ( "convert_def_id(source={:?}, did={:?})={:?}" , source, did, r) ;
18701864 return r;
@@ -1959,14 +1953,11 @@ fn decode_side_tables(dcx: &DecodeContext,
19591953 let adj: ty:: AutoAdjustment = val_dsr. read_auto_adjustment ( dcx) ;
19601954 dcx. tcx . adjustments . borrow_mut ( ) . insert ( id, adj) ;
19611955 }
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) ;
19701961 }
19711962 _ => {
19721963 dcx. tcx . sess . bug (
0 commit comments