Fix parsing <= in type_args

This commit is contained in:
Ville Penttinen 2019-03-30 13:44:58 +02:00
parent c4dfced1f8
commit 444a119220
4 changed files with 29 additions and 6 deletions

View File

@ -410,6 +410,7 @@ fn try_expr(p: &mut Parser, lhs: CompletedMarker) -> CompletedMarker {
// 82 as i32; // 82 as i32;
// 81 as i8 + 1; // 81 as i8 + 1;
// 79 as i16 - 1; // 79 as i16 - 1;
// 0x36 as u8 <= 0x37;
// } // }
fn cast_expr(p: &mut Parser, lhs: CompletedMarker) -> CompletedMarker { fn cast_expr(p: &mut Parser, lhs: CompletedMarker) -> CompletedMarker {
assert!(p.at(AS_KW)); assert!(p.at(AS_KW));

View File

@ -8,6 +8,7 @@ pub(super) fn opt_type_arg_list(p: &mut Parser, colon_colon_required: bool) {
p.bump(); p.bump();
p.bump(); p.bump();
} }
(false, L_ANGLE, EQ) => return,
(false, L_ANGLE, _) => { (false, L_ANGLE, _) => {
m = p.start(); m = p.start();
p.bump(); p.bump();

View File

@ -2,4 +2,5 @@ fn foo() {
82 as i32; 82 as i32;
81 as i8 + 1; 81 as i8 + 1;
79 as i16 - 1; 79 as i16 - 1;
0x36 as u8 <= 0x37;
} }

View File

@ -1,5 +1,5 @@
SOURCE_FILE@[0; 65) SOURCE_FILE@[0; 89)
FN_DEF@[0; 64) FN_DEF@[0; 88)
FN_KW@[0; 2) FN_KW@[0; 2)
WHITESPACE@[2; 3) WHITESPACE@[2; 3)
NAME@[3; 6) NAME@[3; 6)
@ -8,7 +8,7 @@ SOURCE_FILE@[0; 65)
L_PAREN@[6; 7) L_PAREN@[6; 7)
R_PAREN@[7; 8) R_PAREN@[7; 8)
WHITESPACE@[8; 9) WHITESPACE@[8; 9)
BLOCK@[9; 64) BLOCK@[9; 88)
L_CURLY@[9; 10) L_CURLY@[9; 10)
WHITESPACE@[10; 15) WHITESPACE@[10; 15)
EXPR_STMT@[15; 25) EXPR_STMT@[15; 25)
@ -64,6 +64,26 @@ SOURCE_FILE@[0; 65)
LITERAL@[60; 61) LITERAL@[60; 61)
INT_NUMBER@[60; 61) "1" INT_NUMBER@[60; 61) "1"
SEMI@[61; 62) SEMI@[61; 62)
WHITESPACE@[62; 63) WHITESPACE@[62; 67)
R_CURLY@[63; 64) EXPR_STMT@[67; 86)
WHITESPACE@[64; 65) BIN_EXPR@[67; 85)
CAST_EXPR@[67; 77)
LITERAL@[67; 71)
INT_NUMBER@[67; 71) "0x36"
WHITESPACE@[71; 72)
AS_KW@[72; 74)
WHITESPACE@[74; 75)
PATH_TYPE@[75; 77)
PATH@[75; 77)
PATH_SEGMENT@[75; 77)
NAME_REF@[75; 77)
IDENT@[75; 77) "u8"
WHITESPACE@[77; 78)
LTEQ@[78; 80)
WHITESPACE@[80; 81)
LITERAL@[81; 85)
INT_NUMBER@[81; 85) "0x37"
SEMI@[85; 86)
WHITESPACE@[86; 87)
R_CURLY@[87; 88)
WHITESPACE@[88; 89)