From b476d979d2102078f6106247488d28a4e2fd8881 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 27 Dec 2013 16:39:39 -0800 Subject: [PATCH] libsyntax: De-`@mut` `SCTable::rename_memo` --- src/libsyntax/ast.rs | 2 +- src/libsyntax/ast_util.rs | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index fac86ae08d4..4d744f4df29 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -91,7 +91,7 @@ pub type SyntaxContext = u32; pub struct SCTable { table: RefCell<~[SyntaxContext_]>, mark_memo: RefCell>, - rename_memo: HashMap<(SyntaxContext,Ident,Name),SyntaxContext> + rename_memo: RefCell>, } // NB: these must be placed in any SCTable... diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 796d4ebf365..082eb188c20 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -748,17 +748,18 @@ pub fn new_rename_internal(id:Ident, to:Name, tail:SyntaxContext, table: &mut SC let key = (tail,id,to); // FIXME #5074 //let try_lookup = table.rename_memo.find(&key); - match table.rename_memo.contains_key(&key) { + let mut rename_memo = table.rename_memo.borrow_mut(); + match rename_memo.get().contains_key(&key) { false => { let new_idx = { let mut table = table.table.borrow_mut(); idx_push(table.get(), Rename(id,to,tail)) }; - table.rename_memo.insert(key,new_idx); + rename_memo.get().insert(key,new_idx); new_idx } true => { - match table.rename_memo.find(&key) { + match rename_memo.get().find(&key) { None => fail!("internal error: key disappeared 2013042902"), Some(idxptr) => {*idxptr} } @@ -773,7 +774,7 @@ pub fn new_sctable_internal() -> SCTable { SCTable { table: RefCell::new(~[EmptyCtxt,IllegalCtxt]), mark_memo: RefCell::new(HashMap::new()), - rename_memo: HashMap::new() + rename_memo: RefCell::new(HashMap::new()), } }