Document that mpmc channels deliver an item to one receiver. by andrew-otiv · Pull Request #140158 · rust-lang/rust (original) (raw)
By replacing them with {Open,Close}{Param,Brace,Bracket,Invisible}.
PR rust-lang#137902 made ast::TokenKind more like lexer::TokenKind by
replacing the compound BinOp{,Eq}(BinOpToken) variants with fieldless
variants Plus, Minus, Star, etc. This commit does a similar thing
with delimiters. It also makes ast::TokenKind more similar to
parser::TokenType.
This requires a few new methods:
TokenKind::is_{,open_,close_}delim()replace various kinds of pattern matches.Delimiter::as_{open,close}_token_kindare used to convertDelimitervalues toTokenKind.
Despite these additions, it's a net reduction in lines of code. This is
because e.g. token::OpenParen is so much shorter than
token::OpenDelim(Delimiter::Parenthesis) that many multi-line forms
reduce to single line forms. And many places where the number of lines
doesn't change are still easier to read, just because the names are
shorter, e.g.:
- } else if self.token != token::CloseDelim(Delimiter::Brace) {
+ } else if self.token != token::CloseBrace {