fix: move use parsing to outer match arm

This commit is contained in:
winstxnhdw 2024-07-23 22:32:23 +01:00
parent e4941c0c73
commit 4a91453409
2 changed files with 19 additions and 18 deletions

View file

@ -144,6 +144,12 @@ fn type_bound(p: &mut Parser<'_>) -> bool {
match p.current() {
LIFETIME_IDENT => lifetime(p),
T![for] => types::for_type(p, false),
// test precise_capturing
// fn captures<'a: 'a, 'b: 'b, T>() -> impl Sized + use<'b, T> {}
T![use] => {
p.bump_any();
generic_param_list(p)
}
T![?] if p.nth_at(1, T![for]) => {
// test question_for_type_trait_bound
// fn f<T>() where T: ?for<> Sized {}
@ -167,12 +173,6 @@ fn type_bound(p: &mut Parser<'_>) -> bool {
T![async] => {
p.bump_any();
}
// test precise_capturing
// fn captures<'a: 'a, 'b: 'b, T>() -> impl Sized + use<'b, T> {}
T![use] => {
p.bump_any();
generic_param_list(p);
}
_ => (),
}
if paths::is_use_path_start(p) {

View file

@ -48,18 +48,19 @@ SOURCE_FILE
WHITESPACE " "
PLUS "+"
WHITESPACE " "
USE_KW "use"
GENERIC_PARAM_LIST
L_ANGLE "<"
LIFETIME_PARAM
LIFETIME
LIFETIME_IDENT "'b"
COMMA ","
WHITESPACE " "
TYPE_PARAM
NAME
IDENT "T"
R_ANGLE ">"
TYPE_BOUND
USE_KW "use"
GENERIC_PARAM_LIST
L_ANGLE "<"
LIFETIME_PARAM
LIFETIME
LIFETIME_IDENT "'b"
COMMA ","
WHITESPACE " "
TYPE_PARAM
NAME
IDENT "T"
R_ANGLE ">"
WHITESPACE " "
BLOCK_EXPR
STMT_LIST