@@ -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;
@@ -618,8 +618,8 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
618618 fn tr ( & self , dcx : & DecodeContext ) -> MethodOrigin < ' tcx > {
619619 match * self {
620620 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) )
623623 }
624624 ty:: MethodTypeParam ( ref mp) => {
625625 ty:: MethodTypeParam (
@@ -643,24 +643,23 @@ impl<'tcx> tr for MethodOrigin<'tcx> {
643643 }
644644}
645645
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 ) {
648647 use serialize:: Encoder ;
649648
650- ebml_w. emit_enum ( "UnboxedClosureKind " , |ebml_w| {
649+ ebml_w. emit_enum ( "ClosureKind " , |ebml_w| {
651650 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 , |_| {
654653 Ok ( ( ) )
655654 } )
656655 }
657- ty:: FnMutUnboxedClosureKind => {
658- ebml_w. emit_enum_variant ( "FnMutUnboxedClosureKind " , 1 , 3 , |_| {
656+ ty:: FnMutClosureKind => {
657+ ebml_w. emit_enum_variant ( "FnMutClosureKind " , 1 , 3 , |_| {
659658 Ok ( ( ) )
660659 } )
661660 }
662- ty:: FnOnceUnboxedClosureKind => {
663- ebml_w. emit_enum_variant ( "FnOnceUnboxedClosureKind " ,
661+ ty:: FnOnceClosureKind => {
662+ ebml_w. emit_enum_variant ( "FnOnceClosureKind " ,
664663 2 ,
665664 3 ,
666665 |_| {
@@ -736,7 +735,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
736735 this. read_enum_variant ( & [ "vtable_static" ,
737736 "vtable_param" ,
738737 "vtable_error" ,
739- "vtable_unboxed_closure " ] ,
738+ "vtable_closure " ] ,
740739 |this, i| {
741740 Ok ( match i {
742741 0 => {
@@ -763,7 +762,7 @@ impl<'tcx, 'a> vtable_decoder_helpers<'tcx> for reader::Decoder<'a> {
763762 )
764763 }
765764 2 => {
766- ty:: vtable_unboxed_closure (
765+ ty:: vtable_closure (
767766 this. read_enum_variant_arg ( 0 u, |this| {
768767 Ok ( this. read_def_id_nodcx ( cdata) )
769768 } ) . unwrap ( )
@@ -865,8 +864,8 @@ impl<'a, 'tcx> rbml_writer_helpers<'tcx> for Encoder<'a> {
865864 } )
866865 }
867866
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| {
870869 Ok ( this. emit_def_id ( def_id) )
871870 } )
872871 }
@@ -1322,15 +1321,12 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext,
13221321 } )
13231322 }
13241323
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| {
13301326 rbml_w. id ( id) ;
13311327 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 )
13341330 } )
13351331 } )
13361332 }
@@ -1369,8 +1365,8 @@ trait rbml_decoder_decoder_helpers<'tcx> {
13691365 -> subst:: Substs < ' tcx > ;
13701366 fn read_auto_adjustment < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
13711367 -> 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 > ;
13741370 fn read_auto_deref_ref < ' a , ' b > ( & mut self , dcx : & DecodeContext < ' a , ' b , ' tcx > )
13751371 -> ty:: AutoDerefRef < ' tcx > ;
13761372 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> {
14361432 -> ty:: MethodOrigin < ' tcx >
14371433 {
14381434 self . read_enum ( "MethodOrigin" , |this| {
1439- let variants = & [ "MethodStatic" , "MethodStaticUnboxedClosure " ,
1435+ let variants = & [ "MethodStatic" , "MethodStaticClosure " ,
14401436 "MethodTypeParam" , "MethodTraitObject" ] ;
14411437 this. read_enum_variant ( variants, |this, i| {
14421438 Ok ( match i {
@@ -1447,7 +1443,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
14471443
14481444 1 => {
14491445 let def_id = this. read_def_id ( dcx) ;
1450- ty:: MethodStaticUnboxedClosure ( def_id)
1446+ ty:: MethodStaticClosure ( def_id)
14511447 }
14521448
14531449 2 => {
@@ -1797,8 +1793,8 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
17971793 } ) . unwrap ( )
17981794 }
17991795
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 > {
18021798 let closure_type = self . read_opaque ( |this, doc| {
18031799 Ok ( tydecode:: parse_ty_closure_data (
18041800 doc. data ,
@@ -1808,21 +1804,21 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
18081804 |s, a| this. convert_def_id ( dcx, s, a) ) )
18091805 } ) . unwrap ( ) ;
18101806 let variants = & [
1811- "FnUnboxedClosureKind " ,
1812- "FnMutUnboxedClosureKind " ,
1813- "FnOnceUnboxedClosureKind "
1807+ "FnClosureKind " ,
1808+ "FnMutClosureKind " ,
1809+ "FnOnceClosureKind "
18141810 ] ;
1815- let kind = self . read_enum ( "UnboxedClosureKind " , |this| {
1811+ let kind = self . read_enum ( "ClosureKind " , |this| {
18161812 this. read_enum_variant ( variants, |_, i| {
18171813 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 " ) ,
18221818 } )
18231819 } )
18241820 } ) . unwrap ( ) ;
1825- ty:: UnboxedClosure {
1821+ ty:: Closure {
18261822 closure_type : closure_type,
18271823 kind : kind,
18281824 }
@@ -1864,7 +1860,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
18641860 -> ast:: DefId {
18651861 let r = match source {
18661862 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)
18681864 } ;
18691865 debug ! ( "convert_def_id(source={:?}, did={:?})={:?}" , source, did, r) ;
18701866 return r;
@@ -1959,14 +1955,11 @@ fn decode_side_tables(dcx: &DecodeContext,
19591955 let adj: ty:: AutoAdjustment = val_dsr. read_auto_adjustment ( dcx) ;
19601956 dcx. tcx . adjustments . borrow_mut ( ) . insert ( id, adj) ;
19611957 }
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) ;
19701963 }
19711964 _ => {
19721965 dcx. tcx . sess . bug (
0 commit comments