Skip to content

Commit 3ed45bb

Browse files
committed
librustc: De-@mut CrateDebugContext::namespace_map.
1 parent 38be67a commit 3ed45bb

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/librustc/middle/trans/debuginfo.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ pub struct CrateDebugContext {
178178
priv current_debug_location: DebugLocation,
179179
priv created_files: RefCell<HashMap<~str, DIFile>>,
180180
priv created_types: RefCell<HashMap<uint, DIType>>,
181-
priv namespace_map: HashMap<~[ast::Ident], @NamespaceTreeNode>,
181+
priv namespace_map: RefCell<HashMap<~[ast::Ident], @NamespaceTreeNode>>,
182182
// This collection is used to assert that composite types (structs, enums, ...) have their
183183
// members only set once:
184184
priv composite_types_completed: HashSet<DIType>,
@@ -197,7 +197,7 @@ impl CrateDebugContext {
197197
current_debug_location: UnknownLocation,
198198
created_files: RefCell::new(HashMap::new()),
199199
created_types: RefCell::new(HashMap::new()),
200-
namespace_map: HashMap::new(),
200+
namespace_map: RefCell::new(HashMap::new()),
201201
composite_types_completed: HashSet::new(),
202202
};
203203
}
@@ -2819,7 +2819,10 @@ fn namespace_for_item(cx: &mut CrateContext,
28192819
let ident = path_element.ident();
28202820
current_key.push(ident);
28212821

2822-
let existing_node = debug_context(cx).namespace_map.find_copy(&current_key);
2822+
let existing_node = {
2823+
let namespace_map = debug_context(cx).namespace_map.borrow();
2824+
namespace_map.get().find_copy(&current_key)
2825+
};
28232826
let current_node = match existing_node {
28242827
Some(existing_node) => existing_node,
28252828
None => {
@@ -2847,7 +2850,11 @@ fn namespace_for_item(cx: &mut CrateContext,
28472850
parent: parent_node,
28482851
};
28492852

2850-
debug_context(cx).namespace_map.insert(current_key.clone(), node);
2853+
{
2854+
let mut namespace_map = debug_context(cx).namespace_map
2855+
.borrow_mut();
2856+
namespace_map.get().insert(current_key.clone(), node);
2857+
}
28512858

28522859
node
28532860
}

0 commit comments

Comments
 (0)