1
Fork 0

Change fold_tt and fold_tts to take token trees by value (instead of by reference)

This commit is contained in:
Jeffrey Seyfried 2016-06-03 20:27:15 +00:00
parent febe6a46f6
commit 5bf7970ac7
8 changed files with 68 additions and 88 deletions

View file

@ -2671,13 +2671,12 @@ impl<'a> Parser<'a> {
)?;
let (sep, repeat) = self.parse_sep_and_kleene_op()?;
let name_num = macro_parser::count_names(&seq);
return Ok(TokenTree::Sequence(mk_sp(sp.lo, seq_span.hi),
Rc::new(SequenceRepetition {
tts: seq,
separator: sep,
op: repeat,
num_captures: name_num
})));
return Ok(TokenTree::Sequence(mk_sp(sp.lo, seq_span.hi), SequenceRepetition {
tts: seq,
separator: sep,
op: repeat,
num_captures: name_num
}));
} else if self.token.is_keyword(keywords::Crate) {
self.bump();
return Ok(TokenTree::Token(sp, SpecialVarNt(SpecialMacroVar::CrateMacroVar)));
@ -2832,12 +2831,12 @@ impl<'a> Parser<'a> {
_ => {}
}
Ok(TokenTree::Delimited(span, Rc::new(Delimited {
Ok(TokenTree::Delimited(span, Delimited {
delim: delim,
open_span: open_span,
tts: tts,
close_span: close_span,
})))
}))
},
_ => {
// invariants: the current token is not a left-delimiter,