Skip to content

Commit cc1680b

Browse files
committed
---
yaml --- r: 97048 b: refs/heads/dist-snap c: 978b6bf h: refs/heads/master v: v3
1 parent c420ada commit cc1680b

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: df373e6fbeb8b64abf0619dcaad642c26f04b6aa
9+
refs/heads/dist-snap: 978b6bf5a1b4b74e9c89e6db753823f9a7cb7f57
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/librustc/metadata/cstore.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub struct CrateSource {
6262

6363
pub struct CStore {
6464
priv metas: RefCell<HashMap<ast::CrateNum, @crate_metadata>>,
65-
priv extern_mod_crate_map: extern_mod_crate_map,
65+
priv extern_mod_crate_map: RefCell<extern_mod_crate_map>,
6666
priv used_crate_sources: ~[CrateSource],
6767
priv used_libraries: ~[(~str, NativeLibaryKind)],
6868
priv used_link_args: ~[~str],
@@ -76,7 +76,7 @@ impl CStore {
7676
pub fn new(intr: @ident_interner) -> CStore {
7777
CStore {
7878
metas: RefCell::new(HashMap::new()),
79-
extern_mod_crate_map: HashMap::new(),
79+
extern_mod_crate_map: RefCell::new(HashMap::new()),
8080
used_crate_sources: ~[],
8181
used_libraries: ~[],
8282
used_link_args: ~[],
@@ -162,20 +162,23 @@ impl CStore {
162162
pub fn add_extern_mod_stmt_cnum(&mut self,
163163
emod_id: ast::NodeId,
164164
cnum: ast::CrateNum) {
165-
self.extern_mod_crate_map.insert(emod_id, cnum);
165+
let mut extern_mod_crate_map = self.extern_mod_crate_map.borrow_mut();
166+
extern_mod_crate_map.get().insert(emod_id, cnum);
166167
}
167168

168169
pub fn find_extern_mod_stmt_cnum(&self, emod_id: ast::NodeId)
169170
-> Option<ast::CrateNum> {
170-
self.extern_mod_crate_map.find(&emod_id).map(|x| *x)
171+
let extern_mod_crate_map = self.extern_mod_crate_map.borrow();
172+
extern_mod_crate_map.get().find(&emod_id).map(|x| *x)
171173
}
172174

173175
// returns hashes of crates directly used by this crate. Hashes are sorted by
174176
// (crate name, crate version, crate hash) in lexicographic order (not semver)
175177
pub fn get_dep_hashes(&self) -> ~[@str] {
176178
let mut result = ~[];
177179

178-
for (_, &cnum) in self.extern_mod_crate_map.iter() {
180+
let extern_mod_crate_map = self.extern_mod_crate_map.borrow();
181+
for (_, &cnum) in extern_mod_crate_map.get().iter() {
179182
let cdata = self.get_crate_data(cnum);
180183
let hash = decoder::get_crate_hash(cdata.data());
181184
let vers = decoder::get_crate_vers(cdata.data());

0 commit comments

Comments
 (0)