Skip to content

Commit 3528f74

Browse files
committed
librustc: De-@mut CStore::used_crate_sources
1 parent 978b6bf commit 3528f74

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/librustc/metadata/cstore.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub struct CrateSource {
6363
pub struct CStore {
6464
priv metas: RefCell<HashMap<ast::CrateNum, @crate_metadata>>,
6565
priv extern_mod_crate_map: RefCell<extern_mod_crate_map>,
66-
priv used_crate_sources: ~[CrateSource],
66+
priv used_crate_sources: RefCell<~[CrateSource]>,
6767
priv used_libraries: ~[(~str, NativeLibaryKind)],
6868
priv used_link_args: ~[~str],
6969
intr: @ident_interner
@@ -77,7 +77,7 @@ impl CStore {
7777
CStore {
7878
metas: RefCell::new(HashMap::new()),
7979
extern_mod_crate_map: RefCell::new(HashMap::new()),
80-
used_crate_sources: ~[],
80+
used_crate_sources: RefCell::new(~[]),
8181
used_libraries: ~[],
8282
used_link_args: ~[],
8383
intr: intr
@@ -117,18 +117,17 @@ impl CStore {
117117
}
118118

119119
pub fn add_used_crate_source(&mut self, src: CrateSource) {
120-
if !self.used_crate_sources.contains(&src) {
121-
self.used_crate_sources.push(src);
120+
let mut used_crate_sources = self.used_crate_sources.borrow_mut();
121+
if !used_crate_sources.get().contains(&src) {
122+
used_crate_sources.get().push(src);
122123
}
123124
}
124125

125-
pub fn get_used_crate_sources<'a>(&'a self) -> &'a [CrateSource] {
126-
self.used_crate_sources.as_slice()
127-
}
128-
129126
pub fn get_used_crates(&self, prefer: LinkagePreference)
130127
-> ~[(ast::CrateNum, Option<Path>)] {
131-
self.used_crate_sources.iter()
128+
let used_crate_sources = self.used_crate_sources.borrow();
129+
used_crate_sources.get()
130+
.iter()
132131
.map(|src| (src.cnum, match prefer {
133132
RequireDynamic => src.dylib.clone(),
134133
RequireStatic => src.rlib.clone(),

0 commit comments

Comments
 (0)