Skip to content

Commit 9341d9d

Browse files
committed
---
yaml --- r: 90742 b: refs/heads/master c: 3ed45bb h: refs/heads/master v: v3
1 parent de69cbc commit 9341d9d

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 38be67a1b996f577f0334dc1f71c176adef54ff9
2+
refs/heads/master: 3ed45bb595571495e4d9165ace5c604523d13b97
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
55
refs/heads/try: b160761e35efcd1207112b3b782c06633cf441a8

trunk/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)