@@ -18,13 +18,12 @@ use driver::session::Session;
1818use metadata:: decoder;
1919use middle:: def;
2020use metadata:: encoder as e;
21- use middle:: freevars:: { CaptureMode , freevar_entry} ;
22- use middle:: freevars;
2321use middle:: region;
2422use metadata:: tydecode;
2523use metadata:: tydecode:: { DefIdSource , NominalType , TypeWithId , TypeParameter } ;
2624use metadata:: tydecode:: { RegionParameter } ;
2725use metadata:: tyencode;
26+ use middle:: mem_categorization:: Typer ;
2827use middle:: subst;
2928use middle:: subst:: VecPerParamSpace ;
3029use middle:: typeck:: { MethodCall , MethodCallee , MethodOrigin } ;
@@ -42,7 +41,6 @@ use syntax;
4241use libc;
4342use std:: io:: Seek ;
4443use std:: mem;
45- use std:: gc:: GC ;
4644use std:: rc:: Rc ;
4745
4846use rbml:: io:: SeekableMemWriter ;
@@ -462,8 +460,7 @@ impl tr for def::Def {
462460 def:: DefMod ( did) => { def:: DefMod ( did. tr ( dcx) ) }
463461 def:: DefForeignMod ( did) => { def:: DefForeignMod ( did. tr ( dcx) ) }
464462 def:: DefStatic ( did, m) => { def:: DefStatic ( did. tr ( dcx) , m) }
465- def:: DefArg ( nid, b) => { def:: DefArg ( dcx. tr_id ( nid) , b) }
466- def:: DefLocal ( nid, b) => { def:: DefLocal ( dcx. tr_id ( nid) , b) }
463+ def:: DefLocal ( nid) => { def:: DefLocal ( dcx. tr_id ( nid) ) }
467464 def:: DefVariant ( e_did, v_did, is_s) => {
468465 def:: DefVariant ( e_did. tr ( dcx) , v_did. tr ( dcx) , is_s)
469466 } ,
@@ -472,11 +469,9 @@ impl tr for def::Def {
472469 def:: DefAssociatedTy ( did) => def:: DefAssociatedTy ( did. tr ( dcx) ) ,
473470 def:: DefPrimTy ( p) => def:: DefPrimTy ( p) ,
474471 def:: DefTyParam ( s, did, v) => def:: DefTyParam ( s, did. tr ( dcx) , v) ,
475- def:: DefBinding ( nid, bm) => def:: DefBinding ( dcx. tr_id ( nid) , bm) ,
476472 def:: DefUse ( did) => def:: DefUse ( did. tr ( dcx) ) ,
477- def:: DefUpvar ( nid1, def , nid2, nid3) => {
473+ def:: DefUpvar ( nid1, nid2, nid3) => {
478474 def:: DefUpvar ( dcx. tr_id ( nid1) ,
479- box ( GC ) ( * def) . tr ( dcx) ,
480475 dcx. tr_id ( nid2) ,
481476 dcx. tr_id ( nid3) )
482477 }
@@ -541,36 +536,36 @@ impl tr for ty::TraitStore {
541536// ______________________________________________________________________
542537// Encoding and decoding of freevar information
543538
544- fn encode_freevar_entry ( rbml_w : & mut Encoder , fv : & freevar_entry ) {
539+ fn encode_freevar_entry ( rbml_w : & mut Encoder , fv : & ty :: Freevar ) {
545540 ( * fv) . encode ( rbml_w) . unwrap ( ) ;
546541}
547542
548- fn encode_capture_mode ( rbml_w : & mut Encoder , cm : CaptureMode ) {
543+ fn encode_capture_mode ( rbml_w : & mut Encoder , cm : ast :: CaptureClause ) {
549544 cm. encode ( rbml_w) . unwrap ( ) ;
550545}
551546
552547trait rbml_decoder_helper {
553548 fn read_freevar_entry ( & mut self , dcx : & DecodeContext )
554- -> freevar_entry ;
555- fn read_capture_mode ( & mut self ) -> CaptureMode ;
549+ -> ty :: Freevar ;
550+ fn read_capture_mode ( & mut self ) -> ast :: CaptureClause ;
556551}
557552
558553impl < ' a > rbml_decoder_helper for reader:: Decoder < ' a > {
559554 fn read_freevar_entry ( & mut self , dcx : & DecodeContext )
560- -> freevar_entry {
561- let fv: freevar_entry = Decodable :: decode ( self ) . unwrap ( ) ;
555+ -> ty :: Freevar {
556+ let fv: ty :: Freevar = Decodable :: decode ( self ) . unwrap ( ) ;
562557 fv. tr ( dcx)
563558 }
564559
565- fn read_capture_mode ( & mut self ) -> CaptureMode {
566- let cm: CaptureMode = Decodable :: decode ( self ) . unwrap ( ) ;
560+ fn read_capture_mode ( & mut self ) -> ast :: CaptureClause {
561+ let cm: ast :: CaptureClause = Decodable :: decode ( self ) . unwrap ( ) ;
567562 cm
568563 }
569564}
570565
571- impl tr for freevar_entry {
572- fn tr ( & self , dcx : & DecodeContext ) -> freevar_entry {
573- freevar_entry {
566+ impl tr for ty :: Freevar {
567+ fn tr ( & self , dcx : & DecodeContext ) -> ty :: Freevar {
568+ ty :: Freevar {
574569 def : self . def . tr ( dcx) ,
575570 span : self . span . tr ( dcx) ,
576571 }
@@ -1292,8 +1287,8 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext,
12921287 } ) ;
12931288
12941289 for freevar in fv. iter ( ) {
1295- match freevars :: get_capture_mode ( tcx, id) {
1296- freevars :: CaptureByRef => {
1290+ match tcx. capture_mode ( id) {
1291+ ast :: CaptureByRef => {
12971292 rbml_w. tag ( c:: tag_table_upvar_borrow_map, |rbml_w| {
12981293 rbml_w. id ( id) ;
12991294 rbml_w. tag ( c:: tag_table_val, |rbml_w| {
0 commit comments