@@ -63,26 +63,27 @@ extern {
63
63
INDENT => Token { kind: TokenKind::Indent, .. },
64
64
DEDENT => Token { kind: TokenKind::Dedent, .. },
65
65
NEWLINE => Token { kind: TokenKind::Newline, .. },
66
+ "Fn" => Token { kind: TokenKind::UpperFn, .. },
66
67
"as" => Token { kind: TokenKind::As, .. },
67
68
"break" => Token { kind: TokenKind::Break, .. },
68
69
"continue" => Token { kind: TokenKind::Continue, .. },
69
- "type" => Token { kind: TokenKind::Type, .. },
70
- "fn" => Token { kind: TokenKind::Fn, .. },
71
- "Fn" => Token { kind: TokenKind::UpperFn, .. },
72
- "let" => Token { kind: TokenKind::Let, .. },
73
- "if" => Token { kind: TokenKind::If, .. },
74
- "else" => Token { kind: TokenKind::Else, .. },
75
70
"elif" => Token { kind: TokenKind::Elif, .. },
76
- "match" => Token { kind: TokenKind::Match, .. },
71
+ "else" => Token { kind: TokenKind::Else, .. },
72
+ "fn" => Token { kind: TokenKind::Fn, .. },
77
73
"for" => Token { kind: TokenKind::For, .. },
78
- "while" => Token { kind: TokenKind::While, .. },
79
- "in" => Token { kind: TokenKind::In, .. },
80
- "return" => Token { kind: TokenKind::Return, .. },
74
+ "if" => Token { kind: TokenKind::If, .. },
75
+ "impl" => Token { kind: TokenKind::Impl, .. },
81
76
"import" => Token { kind: TokenKind::Import, .. },
77
+ "in" => Token { kind: TokenKind::In, .. },
78
+ "is" => Token { kind: TokenKind::Is, .. },
79
+ "let" => Token { kind: TokenKind::Let, .. },
80
+ "loop" => Token { kind: TokenKind::Loop, .. },
81
+ "match" => Token { kind: TokenKind::Match, .. },
82
82
"prim" => Token { kind: TokenKind::Prim, .. },
83
+ "return" => Token { kind: TokenKind::Return, .. },
83
84
"trait" => Token { kind: TokenKind::Trait, .. },
84
- "impl " => Token { kind: TokenKind::Impl , .. },
85
- "loop " => Token { kind: TokenKind::Loop , .. },
85
+ "type " => Token { kind: TokenKind::Type , .. },
86
+ "while " => Token { kind: TokenKind::While , .. },
86
87
IntLit => Token { kind: TokenKind::Int { .. }, .. },
87
88
HexIntLit => Token { kind: TokenKind::HexInt { .. }, .. },
88
89
BinIntLit => Token { kind: TokenKind::BinInt { .. }, .. },
@@ -947,6 +948,12 @@ InlineExpr: Expr = {
947
948
op: BinOp::GtEq,
948
949
}),
949
950
951
+ <l1:@L> <expr:InlineExpr> <r1:@R> "is" <l2:@L> <pat:Pat> <r2:@R> =>
952
+ Expr::Is(IsExpr {
953
+ expr: Box::new(L::new(module, l1, r1, expr)),
954
+ pat: L::new(module, l2, r2, pat),
955
+ }),
956
+
950
957
#[precedence(level = "10")]
951
958
#[assoc(side = "left")]
952
959
<l1:@L> <left:InlineExpr> <r1:@R> "&&" <l2:@L> <right:InlineExpr> <r2:@R> =>
0 commit comments