diff options
| author | Ben Foppa <benjamin.foppa@gmail.com> | 2015-01-04 14:07:32 -0500 |
|---|---|---|
| committer | Ben Foppa <benjamin.foppa@gmail.com> | 2015-01-04 15:55:54 -0500 |
| commit | 400c3a0ddcf4441f66eb4653c7365b663f9a4ea1 (patch) | |
| tree | 1a457687cff5058b1a1f58d623b75fcc10a50476 /src/libsyntax/ext | |
| parent | 260e46115b922d29ca98b3cbea190011b1d3e63f (diff) | |
| download | rust-400c3a0ddcf4441f66eb4653c7365b663f9a4ea1.tar.gz rust-400c3a0ddcf4441f66eb4653c7365b663f9a4ea1.zip | |
[breaking change] Update entry API as part of RFC 509.
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/mtwt.rs | 15 | ||||
| -rw-r--r-- | src/libsyntax/ext/tt/macro_parser.rs | 4 |
2 files changed, 8 insertions, 11 deletions
diff --git a/src/libsyntax/ext/mtwt.rs b/src/libsyntax/ext/mtwt.rs index bac82494f28..4075b208f78 100644 --- a/src/libsyntax/ext/mtwt.rs +++ b/src/libsyntax/ext/mtwt.rs @@ -21,7 +21,6 @@ use ast::{Ident, Mrk, Name, SyntaxContext}; use std::cell::RefCell; use std::collections::HashMap; -use std::collections::hash_map::Entry::{Occupied, Vacant}; /// The SCTable contains a table of SyntaxContext_'s. It /// represents a flattened tree structure, to avoid having @@ -67,10 +66,9 @@ pub fn apply_mark(m: Mrk, ctxt: SyntaxContext) -> SyntaxContext { /// Extend a syntax context with a given mark and sctable (explicit memoization) fn apply_mark_internal(m: Mrk, ctxt: SyntaxContext, table: &SCTable) -> SyntaxContext { let key = (ctxt, m); - * match table.mark_memo.borrow_mut().entry(key) { - Vacant(entry) => entry.set(idx_push(&mut *table.table.borrow_mut(), Mark(m, ctxt))), - Occupied(entry) => entry.into_mut(), - } + * table.mark_memo.borrow_mut().entry(&key).get().unwrap_or_else( + |vacant_entry| + vacant_entry.insert(idx_push(&mut *table.table.borrow_mut(), Mark(m, ctxt)))) } /// Extend a syntax context with a given rename @@ -86,10 +84,9 @@ fn apply_rename_internal(id: Ident, table: &SCTable) -> SyntaxContext { let key = (ctxt, id, to); - * match table.rename_memo.borrow_mut().entry(key) { - Vacant(entry) => entry.set(idx_push(&mut *table.table.borrow_mut(), Rename(id, to, ctxt))), - Occupied(entry) => entry.into_mut(), - } + * table.rename_memo.borrow_mut().entry(&key).get().unwrap_or_else( + |vacant_entry| + vacant_entry.insert(idx_push(&mut *table.table.borrow_mut(), Rename(id, to, ctxt)))) } /// Apply a list of renamings to a context diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index 69e473055e8..1438d152554 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -219,9 +219,9 @@ pub fn nameize(p_s: &ParseSess, ms: &[TokenTree], res: &[Rc<NamedMatch>]) } } &TtToken(sp, MatchNt(bind_name, _, _, _)) => { - match ret_val.entry(bind_name) { + match ret_val.entry(&bind_name) { Vacant(spot) => { - spot.set(res[*idx].clone()); + spot.insert(res[*idx].clone()); *idx += 1; } Occupied(..) => { |
