diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-12-18 16:02:20 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-12-26 13:01:22 -0800 |
| commit | 3f444dca5b8d32b8fd64256ec7ffc55b480d84ea (patch) | |
| tree | 3fa806b9c21d562f91923cff4253123dd8b8d39a /src | |
| parent | efdbd60a87d8a997df39907cf11ecfa5a8ba707e (diff) | |
| download | rust-3f444dca5b8d32b8fd64256ec7ffc55b480d84ea.tar.gz rust-3f444dca5b8d32b8fd64256ec7ffc55b480d84ea.zip | |
librustc: De-`@mut` `trait_refs`
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/ty.rs | 7 | ||||
| -rw-r--r-- | src/librustc/middle/typeck/collect.rs | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index 0dd03b1237b..c0a66ee81fd 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -297,7 +297,7 @@ struct ctxt_ { impl_trait_cache: RefCell<HashMap<ast::DefId, Option<@ty::TraitRef>>>, - trait_refs: @mut HashMap<NodeId, @TraitRef>, + trait_refs: RefCell<HashMap<NodeId, @TraitRef>>, trait_defs: @mut HashMap<DefId, @TraitDef>, /// Despite its name, `items` does not only map NodeId to an item but @@ -986,7 +986,7 @@ pub fn mk_ctxt(s: session::Session, region_maps: region_maps, node_types: @mut HashMap::new(), node_type_substs: RefCell::new(HashMap::new()), - trait_refs: @mut HashMap::new(), + trait_refs: RefCell::new(HashMap::new()), trait_defs: @mut HashMap::new(), items: amap, intrinsic_defs: @mut HashMap::new(), @@ -2654,7 +2654,8 @@ pub fn index_sty(sty: &sty) -> Option<mt> { } pub fn node_id_to_trait_ref(cx: ctxt, id: ast::NodeId) -> @ty::TraitRef { - match cx.trait_refs.find(&id) { + let trait_refs = cx.trait_refs.borrow(); + match trait_refs.get().find(&id) { Some(&t) => t, None => cx.sess.bug( format!("node_id_to_trait_ref: no trait ref for node `{}`", diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs index 99f25d8e045..2391742ea9a 100644 --- a/src/librustc/middle/typeck/collect.rs +++ b/src/librustc/middle/typeck/collect.rs @@ -710,8 +710,9 @@ pub fn instantiate_trait_ref(ccx: &CrateCtxt, let trait_ref = astconv::ast_path_to_trait_ref( ccx, &rscope, trait_did, Some(self_ty), &ast_trait_ref.path); - ccx.tcx.trait_refs.insert( - ast_trait_ref.ref_id, trait_ref); + + let mut trait_refs = ccx.tcx.trait_refs.borrow_mut(); + trait_refs.get().insert(ast_trait_ref.ref_id, trait_ref); return trait_ref; } _ => { |
