Impl Copy
for Token
and TokenKind
.
This commit is contained in:
parent
bb495d6d3e
commit
4d8f7577b5
20 changed files with 56 additions and 57 deletions
|
@ -160,7 +160,7 @@ impl<'dcx, 'matcher> Tracker<'matcher> for CollectTrackerAndEmitter<'dcx, 'match
|
|||
.is_none_or(|failure| failure.is_better_position(*approx_position))
|
||||
{
|
||||
self.best_failure = Some(BestFailure {
|
||||
token: token.clone(),
|
||||
token: *token,
|
||||
position_in_tokenstream: *approx_position,
|
||||
msg,
|
||||
remaining_matcher: self
|
||||
|
|
|
@ -179,7 +179,7 @@ pub(super) fn compute_locs(matcher: &[TokenTree]) -> Vec<MatcherLoc> {
|
|||
for tt in tts {
|
||||
match tt {
|
||||
TokenTree::Token(token) => {
|
||||
locs.push(MatcherLoc::Token { token: token.clone() });
|
||||
locs.push(MatcherLoc::Token { token: *token });
|
||||
}
|
||||
TokenTree::Delimited(span, _, delimited) => {
|
||||
let open_token = Token::new(token::OpenDelim(delimited.delim), span.open);
|
||||
|
@ -648,7 +648,7 @@ impl TtParser {
|
|||
// There are no possible next positions AND we aren't waiting for the black-box
|
||||
// parser: syntax error.
|
||||
return Failure(T::build_failure(
|
||||
parser.token.clone(),
|
||||
parser.token,
|
||||
parser.approx_token_stream_pos(),
|
||||
"no rules expected this token in macro call",
|
||||
));
|
||||
|
|
|
@ -778,7 +778,7 @@ impl<'tt> FirstSets<'tt> {
|
|||
// token could be the separator token itself.
|
||||
|
||||
if let (Some(sep), true) = (&seq_rep.separator, subfirst.maybe_empty) {
|
||||
first.add_one_maybe(TtHandle::from_token(sep.clone()));
|
||||
first.add_one_maybe(TtHandle::from_token(*sep));
|
||||
}
|
||||
|
||||
// Reverse scan: Sequence comes before `first`.
|
||||
|
@ -841,7 +841,7 @@ impl<'tt> FirstSets<'tt> {
|
|||
// If the sequence contents can be empty, then the first
|
||||
// token could be the separator token itself.
|
||||
if let (Some(sep), true) = (&seq_rep.separator, subfirst.maybe_empty) {
|
||||
first.add_one_maybe(TtHandle::from_token(sep.clone()));
|
||||
first.add_one_maybe(TtHandle::from_token(*sep));
|
||||
}
|
||||
|
||||
assert!(first.maybe_empty);
|
||||
|
@ -917,7 +917,7 @@ impl<'tt> Clone for TtHandle<'tt> {
|
|||
// This variant *must* contain a `mbe::TokenTree::Token`, and not
|
||||
// any other variant of `mbe::TokenTree`.
|
||||
TtHandle::Token(mbe::TokenTree::Token(tok)) => {
|
||||
TtHandle::Token(mbe::TokenTree::Token(tok.clone()))
|
||||
TtHandle::Token(mbe::TokenTree::Token(*tok))
|
||||
}
|
||||
|
||||
_ => unreachable!(),
|
||||
|
@ -1093,7 +1093,7 @@ fn check_matcher_core<'tt>(
|
|||
let mut new;
|
||||
let my_suffix = if let Some(sep) = &seq_rep.separator {
|
||||
new = suffix_first.clone();
|
||||
new.add_one_maybe(TtHandle::from_token(sep.clone()));
|
||||
new.add_one_maybe(TtHandle::from_token(*sep));
|
||||
&new
|
||||
} else {
|
||||
&suffix_first
|
||||
|
|
|
@ -283,7 +283,7 @@ fn parse_tree<'a>(
|
|||
}
|
||||
|
||||
// `tree` is an arbitrary token. Keep it.
|
||||
tokenstream::TokenTree::Token(token, _) => TokenTree::Token(token.clone()),
|
||||
tokenstream::TokenTree::Token(token, _) => TokenTree::Token(*token),
|
||||
|
||||
// `tree` is the beginning of a delimited set of tokens (e.g., `(` or `{`). We need to
|
||||
// descend into the delimited set and further parse it.
|
||||
|
@ -321,7 +321,7 @@ fn parse_kleene_op(
|
|||
match iter.next() {
|
||||
Some(tokenstream::TokenTree::Token(token, _)) => match kleene_op(token) {
|
||||
Some(op) => Ok(Ok((op, token.span))),
|
||||
None => Ok(Err(token.clone())),
|
||||
None => Ok(Err(*token)),
|
||||
},
|
||||
tree => Err(tree.map_or(span, tokenstream::TokenTree::span)),
|
||||
}
|
||||
|
|
|
@ -164,7 +164,7 @@ pub(super) fn transcribe<'a>(
|
|||
if repeat_idx < repeat_len {
|
||||
frame.idx = 0;
|
||||
if let Some(sep) = sep {
|
||||
result.push(TokenTree::Token(sep.clone(), Spacing::Alone));
|
||||
result.push(TokenTree::Token(*sep, Spacing::Alone));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -438,7 +438,7 @@ pub(super) fn transcribe<'a>(
|
|||
// Nothing much to do here. Just push the token to the result, being careful to
|
||||
// preserve syntax context.
|
||||
mbe::TokenTree::Token(token) => {
|
||||
let mut token = token.clone();
|
||||
let mut token = *token;
|
||||
mut_visit::visit_token(&mut marker, &mut token);
|
||||
let tt = TokenTree::Token(token, Spacing::Alone);
|
||||
result.push(tt);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue