From: Kushal Pal Date: Sat, 6 Jan 2024 05:59:14 +0000 (+0530) Subject: gccrs: Handle `async` keyword for regular implementations X-Git-Tag: basepoints/gcc-15~1524 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7a0c487d2c54b3cf3a83563add89a87220a109c2;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 3055a3959cff..c14c75ce70dc 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -5600,6 +5600,7 @@ Parser::parse_inherent_impl_item () return nullptr; } } + case ASYNC: case EXTERN_KW: case UNSAFE: case FN_KW: diff --git a/gcc/testsuite/rust/compile/issue-2788.rs b/gcc/testsuite/rust/compile/issue-2788.rs new file mode 100644 index 000000000000..b3828fca6cb0 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-2788.rs @@ -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() {} +}