Skip to content

Commit 620be92

Browse files
committed
librustc: De-@mut the cnum_map
1 parent 5a9c37b commit 620be92

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

src/librustc/metadata/creader.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use metadata::cstore;
1515
use metadata::decoder;
1616
use metadata::loader;
1717

18+
use std::cell::RefCell;
1819
use std::hashmap::HashMap;
1920
use syntax::ast;
2021
use syntax::abi;
@@ -347,5 +348,5 @@ fn resolve_crate_deps(e: &mut Env, cdata: &[u8]) -> cstore::cnum_map {
347348
}
348349
}
349350
}
350-
return @mut cnum_map;
351+
return @RefCell::new(cnum_map);
351352
}

src/librustc/metadata/cstore.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use syntax::parse::token::ident_interner;
2424
// local crate numbers (as generated during this session). Each external
2525
// crate may refer to types in other external crates, and each has their
2626
// own crate numbers.
27-
pub type cnum_map = @mut HashMap<ast::CrateNum, ast::CrateNum>;
27+
pub type cnum_map = @RefCell<HashMap<ast::CrateNum, ast::CrateNum>>;
2828

2929
pub enum MetadataBlob {
3030
MetadataVec(~[u8]),

src/librustc/metadata/decoder.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,9 +1197,15 @@ pub fn translate_def_id(cdata: Cmd, did: ast::DefId) -> ast::DefId {
11971197
return ast::DefId { crate: cdata.cnum, node: did.node };
11981198
}
11991199

1200-
match cdata.cnum_map.find(&did.crate) {
1201-
option::Some(&n) => ast::DefId { crate: n, node: did.node },
1202-
option::None => fail!("didn't find a crate in the cnum_map")
1200+
let cnum_map = cdata.cnum_map.borrow();
1201+
match cnum_map.get().find(&did.crate) {
1202+
Some(&n) => {
1203+
ast::DefId {
1204+
crate: n,
1205+
node: did.node,
1206+
}
1207+
}
1208+
None => fail!("didn't find a crate in the cnum_map")
12031209
}
12041210
}
12051211

src/librustc/middle/borrowck/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ pub fn check_crate(
8383
capture_map: capture_map,
8484
root_map: root_map(),
8585
write_guard_map: @RefCell::new(HashSet::new()),
86-
stats: @mut BorrowStats {
86+
stats: @BorrowStats {
8787
loaned_paths_same: Cell::new(0),
8888
loaned_paths_imm: Cell::new(0),
8989
stable_paths: Cell::new(0),
@@ -172,7 +172,7 @@ pub struct BorrowckCtxt {
172172
write_guard_map: write_guard_map,
173173

174174
// Statistics:
175-
stats: @mut BorrowStats
175+
stats: @BorrowStats
176176
}
177177

178178
pub struct BorrowStats {

0 commit comments

Comments
 (0)