inclusive range syntax lint (...
→ ..=
)
Our implementation ends up changing the `PatKind::Range` variant in the AST to take a `Spanned<RangeEnd>` instead of just a `RangeEnd`, because the alternative would be to try to infer the span of the range operator from the spans of the start and end subexpressions, which is both hideous and nontrivial to get right (whereas getting the change to the AST right was a simple game of type tennis). This is concerning #51043.
This commit is contained in:
parent
057715557b
commit
3fb76f4027
13 changed files with 154 additions and 22 deletions
|
@ -617,7 +617,7 @@ pub enum PatKind {
|
|||
/// A literal
|
||||
Lit(P<Expr>),
|
||||
/// A range pattern, e.g. `1...2`, `1..=2` or `1..2`
|
||||
Range(P<Expr>, P<Expr>, RangeEnd),
|
||||
Range(P<Expr>, P<Expr>, Spanned<RangeEnd>),
|
||||
/// `[a, b, ..i, y, z]` is represented as:
|
||||
/// `PatKind::Slice(box [a, b], Some(i), box [y, z])`
|
||||
Slice(Vec<P<Pat>>, Option<P<Pat>>, Vec<P<Pat>>),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue