diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-08-07 02:19:10 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-08-07 06:01:01 +0000 |
| commit | f9f99c5a9c08dda7c85f9d2f7e7d893282ee3a27 (patch) | |
| tree | 4695dfac5f389c4860e151f885610dc34250fda5 /src/libsyntax/ext/tt/macro_parser.rs | |
| parent | 444ff9fbfb1f2a8e6645f67684f8a9ad99b343d3 (diff) | |
| download | rust-f9f99c5a9c08dda7c85f9d2f7e7d893282ee3a27.tar.gz rust-f9f99c5a9c08dda7c85f9d2f7e7d893282ee3a27.zip | |
Make metavariables hygienic.
Diffstat (limited to 'src/libsyntax/ext/tt/macro_parser.rs')
| -rw-r--r-- | src/libsyntax/ext/tt/macro_parser.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index 813afb93576..7db03e9a863 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -79,7 +79,7 @@ pub use self::ParseResult::*; use self::TokenTreeOrTokenTreeVec::*; use ast; -use ast::{Name, Ident}; +use ast::Ident; use syntax_pos::{self, BytePos, mk_sp, Span}; use codemap::Spanned; use errors::FatalError; @@ -202,9 +202,9 @@ pub enum NamedMatch { } pub fn nameize(p_s: &ParseSess, ms: &[TokenTree], res: &[Rc<NamedMatch>]) - -> ParseResult<HashMap<Name, Rc<NamedMatch>>> { + -> ParseResult<HashMap<Ident, Rc<NamedMatch>>> { fn n_rec(p_s: &ParseSess, m: &TokenTree, res: &[Rc<NamedMatch>], - ret_val: &mut HashMap<Name, Rc<NamedMatch>>, idx: &mut usize) + ret_val: &mut HashMap<Ident, Rc<NamedMatch>>, idx: &mut usize) -> Result<(), (syntax_pos::Span, String)> { match *m { TokenTree::Sequence(_, ref seq) => { @@ -218,7 +218,7 @@ pub fn nameize(p_s: &ParseSess, ms: &[TokenTree], res: &[Rc<NamedMatch>]) } } TokenTree::Token(sp, MatchNt(bind_name, _)) => { - match ret_val.entry(bind_name.name) { + match ret_val.entry(bind_name) { Vacant(spot) => { spot.insert(res[*idx].clone()); *idx += 1; @@ -257,7 +257,7 @@ pub enum ParseResult<T> { Error(syntax_pos::Span, String) } -pub type NamedParseResult = ParseResult<HashMap<Name, Rc<NamedMatch>>>; +pub type NamedParseResult = ParseResult<HashMap<Ident, Rc<NamedMatch>>>; pub type PositionalParseResult = ParseResult<Vec<Rc<NamedMatch>>>; /// Perform a token equality check, ignoring syntax context (that is, an |
