mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Merge #929
929: allow `mut ident` patterns in trait methods r=matklad a=matklad Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
bbaf750b10
3 changed files with 28 additions and 12 deletions
|
@ -83,9 +83,10 @@ fn value_parameter(p: &mut Parser, flavor: Flavor) {
|
||||||
|
|
||||||
// test trait_fn_placeholder_parameter
|
// test trait_fn_placeholder_parameter
|
||||||
// trait Foo {
|
// trait Foo {
|
||||||
// fn bar(_: u64);
|
// fn bar(_: u64, mut x: i32);
|
||||||
// }
|
// }
|
||||||
if (la0 == IDENT || la0 == UNDERSCORE) && la1 == COLON
|
if (la0 == IDENT || la0 == UNDERSCORE) && la1 == COLON
|
||||||
|
|| la0 == MUT_KW && la1 == IDENT && la2 == COLON
|
||||||
|| la0 == AMP && la1 == IDENT && la2 == COLON
|
|| la0 == AMP && la1 == IDENT && la2 == COLON
|
||||||
|| la0 == AMP && la1 == MUT_KW && la2 == IDENT && la3 == COLON
|
|| la0 == AMP && la1 == MUT_KW && la2 == IDENT && la3 == COLON
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
trait Foo {
|
trait Foo {
|
||||||
fn bar(_: u64);
|
fn bar(_: u64, mut x: i32);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
SOURCE_FILE@[0; 34)
|
SOURCE_FILE@[0; 46)
|
||||||
TRAIT_DEF@[0; 33)
|
TRAIT_DEF@[0; 45)
|
||||||
TRAIT_KW@[0; 5)
|
TRAIT_KW@[0; 5)
|
||||||
WHITESPACE@[5; 6)
|
WHITESPACE@[5; 6)
|
||||||
NAME@[6; 9)
|
NAME@[6; 9)
|
||||||
IDENT@[6; 9) "Foo"
|
IDENT@[6; 9) "Foo"
|
||||||
WHITESPACE@[9; 10)
|
WHITESPACE@[9; 10)
|
||||||
ITEM_LIST@[10; 33)
|
ITEM_LIST@[10; 45)
|
||||||
L_CURLY@[10; 11)
|
L_CURLY@[10; 11)
|
||||||
WHITESPACE@[11; 16)
|
WHITESPACE@[11; 16)
|
||||||
FN_DEF@[16; 31)
|
FN_DEF@[16; 43)
|
||||||
FN_KW@[16; 18)
|
FN_KW@[16; 18)
|
||||||
WHITESPACE@[18; 19)
|
WHITESPACE@[18; 19)
|
||||||
NAME@[19; 22)
|
NAME@[19; 22)
|
||||||
IDENT@[19; 22) "bar"
|
IDENT@[19; 22) "bar"
|
||||||
PARAM_LIST@[22; 30)
|
PARAM_LIST@[22; 42)
|
||||||
L_PAREN@[22; 23)
|
L_PAREN@[22; 23)
|
||||||
PARAM@[23; 29)
|
PARAM@[23; 29)
|
||||||
PLACEHOLDER_PAT@[23; 24)
|
PLACEHOLDER_PAT@[23; 24)
|
||||||
|
@ -25,8 +25,23 @@ SOURCE_FILE@[0; 34)
|
||||||
PATH_SEGMENT@[26; 29)
|
PATH_SEGMENT@[26; 29)
|
||||||
NAME_REF@[26; 29)
|
NAME_REF@[26; 29)
|
||||||
IDENT@[26; 29) "u64"
|
IDENT@[26; 29) "u64"
|
||||||
R_PAREN@[29; 30)
|
COMMA@[29; 30)
|
||||||
SEMI@[30; 31)
|
WHITESPACE@[30; 31)
|
||||||
WHITESPACE@[31; 32)
|
PARAM@[31; 41)
|
||||||
R_CURLY@[32; 33)
|
BIND_PAT@[31; 36)
|
||||||
WHITESPACE@[33; 34)
|
MUT_KW@[31; 34)
|
||||||
|
WHITESPACE@[34; 35)
|
||||||
|
NAME@[35; 36)
|
||||||
|
IDENT@[35; 36) "x"
|
||||||
|
COLON@[36; 37)
|
||||||
|
WHITESPACE@[37; 38)
|
||||||
|
PATH_TYPE@[38; 41)
|
||||||
|
PATH@[38; 41)
|
||||||
|
PATH_SEGMENT@[38; 41)
|
||||||
|
NAME_REF@[38; 41)
|
||||||
|
IDENT@[38; 41) "i32"
|
||||||
|
R_PAREN@[41; 42)
|
||||||
|
SEMI@[42; 43)
|
||||||
|
WHITESPACE@[43; 44)
|
||||||
|
R_CURLY@[44; 45)
|
||||||
|
WHITESPACE@[45; 46)
|
||||||
|
|
Loading…
Reference in a new issue