Simplify a nested bool match

Logically this first eliminates the innermost match by merging the patterns.
Then, in a second step, turns the newly innermost match into a `matches!` call.
This commit is contained in:
LingMan 2020-10-12 23:51:35 +02:00
parent 4ba5068815
commit fcec76bde4

View File

@ -156,24 +156,13 @@ fn tt_prepend_space(tt: &TokenTree, prev: &TokenTree) -> bool {
} }
} }
match tt { match tt {
TokenTree::Token(token) => match token.kind { TokenTree::Token(token) => token.kind != token::Comma,
token::Comma => false, TokenTree::Delimited(_, DelimToken::Paren, _) => {
_ => true, !matches!(prev, TokenTree::Token(Token { kind: token::Ident(..), .. }))
}, }
TokenTree::Delimited(_, DelimToken::Paren, _) => match prev { TokenTree::Delimited(_, DelimToken::Bracket, _) => {
TokenTree::Token(token) => match token.kind { !matches!(prev, TokenTree::Token(Token { kind: token::Pound, .. }))
token::Ident(_, _) => false, }
_ => true,
},
_ => true,
},
TokenTree::Delimited(_, DelimToken::Bracket, _) => match prev {
TokenTree::Token(token) => match token.kind {
token::Pound => false,
_ => true,
},
_ => true,
},
TokenTree::Delimited(..) => true, TokenTree::Delimited(..) => true,
} }
} }