Clarify parse
a little.
- Name the colon span as `colon_span` to distinguish it from the other `span` local variable. - Just use basic pattern matching, which is easier to read than `map_or`.
This commit is contained in:
parent
c8844dfdc0
commit
3fc8f8998c
@ -62,7 +62,10 @@ pub(super) fn parse(
|
|||||||
match tree {
|
match tree {
|
||||||
TokenTree::MetaVar(start_sp, ident) if parsing_patterns => {
|
TokenTree::MetaVar(start_sp, ident) if parsing_patterns => {
|
||||||
let span = match trees.next() {
|
let span = match trees.next() {
|
||||||
Some(&tokenstream::TokenTree::Token(Token { kind: token::Colon, span }, _)) => {
|
Some(&tokenstream::TokenTree::Token(
|
||||||
|
Token { kind: token::Colon, span: colon_span },
|
||||||
|
_,
|
||||||
|
)) => {
|
||||||
match trees.next() {
|
match trees.next() {
|
||||||
Some(tokenstream::TokenTree::Token(token, _)) => match token.ident() {
|
Some(tokenstream::TokenTree::Token(token, _)) => match token.ident() {
|
||||||
Some((fragment, _)) => {
|
Some((fragment, _)) => {
|
||||||
@ -126,10 +129,12 @@ pub(super) fn parse(
|
|||||||
}
|
}
|
||||||
_ => token.span,
|
_ => token.span,
|
||||||
},
|
},
|
||||||
tree => tree.map_or(span, tokenstream::TokenTree::span),
|
Some(tree) => tree.span(),
|
||||||
|
None => colon_span,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tree => tree.map_or(start_sp, tokenstream::TokenTree::span),
|
Some(tree) => tree.span(),
|
||||||
|
None => start_sp,
|
||||||
};
|
};
|
||||||
|
|
||||||
result.push(TokenTree::MetaVarDecl(span, ident, None));
|
result.push(TokenTree::MetaVarDecl(span, ident, None));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user