gccrs: Handle async keyword for regular implementations

Fixes #2788

gcc/rust/ChangeLog:

	* parse/rust-parse-impl.h (Parser::parse_inherent_impl_item):
	Added switch-case for ASYNC token.

gcc/testsuite/ChangeLog:

	* rust/compile/issue-2788.rs: New test.

Signed-off-by: Kushal Pal <kushalpal109@gmail.com>
This commit is contained in:
Kushal Pal 2024-01-06 11:29:14 +05:30 committed by Arthur Cohen
parent f7c8a712be
commit 7a0c487d2c
2 changed files with 11 additions and 0 deletions

View file

@ -5600,6 +5600,7 @@ Parser<ManagedTokenSource>::parse_inherent_impl_item ()
return nullptr;
}
}
case ASYNC:
case EXTERN_KW:
case UNSAFE:
case FN_KW:

View file

@ -0,0 +1,10 @@
// { dg-additional-options "-frust-compile-until=lowering" }
struct Foo {
arg_1: u32,
arg_2: i32,
}
impl Foo {
async fn asynchronous_function_1(&self) {}
async fn asynchronous_function_2() {}
}