Skip to content

Commit b476d97

Browse files
committed
libsyntax: De-@mut SCTable::rename_memo
1 parent 4d6dde7 commit b476d97

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/libsyntax/ast.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ pub type SyntaxContext = u32;
9191
pub struct SCTable {
9292
table: RefCell<~[SyntaxContext_]>,
9393
mark_memo: RefCell<HashMap<(SyntaxContext,Mrk),SyntaxContext>>,
94-
rename_memo: HashMap<(SyntaxContext,Ident,Name),SyntaxContext>
94+
rename_memo: RefCell<HashMap<(SyntaxContext,Ident,Name),SyntaxContext>>,
9595
}
9696

9797
// NB: these must be placed in any SCTable...

src/libsyntax/ast_util.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -748,17 +748,18 @@ pub fn new_rename_internal(id:Ident, to:Name, tail:SyntaxContext, table: &mut SC
748748
let key = (tail,id,to);
749749
// FIXME #5074
750750
//let try_lookup = table.rename_memo.find(&key);
751-
match table.rename_memo.contains_key(&key) {
751+
let mut rename_memo = table.rename_memo.borrow_mut();
752+
match rename_memo.get().contains_key(&key) {
752753
false => {
753754
let new_idx = {
754755
let mut table = table.table.borrow_mut();
755756
idx_push(table.get(), Rename(id,to,tail))
756757
};
757-
table.rename_memo.insert(key,new_idx);
758+
rename_memo.get().insert(key,new_idx);
758759
new_idx
759760
}
760761
true => {
761-
match table.rename_memo.find(&key) {
762+
match rename_memo.get().find(&key) {
762763
None => fail!("internal error: key disappeared 2013042902"),
763764
Some(idxptr) => {*idxptr}
764765
}
@@ -773,7 +774,7 @@ pub fn new_sctable_internal() -> SCTable {
773774
SCTable {
774775
table: RefCell::new(~[EmptyCtxt,IllegalCtxt]),
775776
mark_memo: RefCell::new(HashMap::new()),
776-
rename_memo: HashMap::new()
777+
rename_memo: RefCell::new(HashMap::new()),
777778
}
778779
}
779780

0 commit comments

Comments
 (0)