https://gcc.gnu.org/g:c12f9f19a7356fb88293ee95c432c48786b4b2f9
commit r16-5594-gc12f9f19a7356fb88293ee95c432c48786b4b2f9 Author: lenny.chiadmi-delage <[email protected]> Date: Mon Nov 10 16:00:29 2025 +0000 gccrs: adds tests from issue 4140 Adds tests for testsuite. Fixes Rust-GCC#4140 gcc/testsuite/ChangeLog: * rust/compile/issue-4140-1.rs: New test. * rust/compile/issue-4140-2.rs: Likewise. Signed-off-by: lenny.chiadmi-delage <[email protected]> Diff: --- gcc/testsuite/rust/compile/issue-4140-1.rs | 18 ++++++++++++++++++ gcc/testsuite/rust/compile/issue-4140-2.rs | 11 +++++++++++ 2 files changed, 29 insertions(+) diff --git a/gcc/testsuite/rust/compile/issue-4140-1.rs b/gcc/testsuite/rust/compile/issue-4140-1.rs new file mode 100644 index 000000000000..48aa98bc318c --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4140-1.rs @@ -0,0 +1,18 @@ +pub enum TypeCtor { + Slice, + Array, +} +pub struct B<T>(T); + +macro_rules! ty_app { + ($_a:pat) => { + ApplicationTy($ctor) // { dg-error "unexpected token '$' in typle struct items" "4140" { target *-*-* } . } + // { dg-error "failed to parse typle struct items" "4140" { target *-*-*} .-1 } + }; +} + +pub fn foo(ty: ApplicationTy) { // { dg-error "could not resolve type path 'ApplicationTy'" "4140" { target *-*-* } .-1 } + match ty { + ty_app!(bean::Array) => {} + } +} diff --git a/gcc/testsuite/rust/compile/issue-4140-2.rs b/gcc/testsuite/rust/compile/issue-4140-2.rs new file mode 100644 index 000000000000..507cf2aba389 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4140-2.rs @@ -0,0 +1,11 @@ +macro_rules! ty_app { + ($_a:pat) => { + ($ctor) // { dg-error "unrecognised token '$' in grouped or tuple pattern after first pattern" "4140" { target *-*-* } . } + }; +} + +pub fn foo() { + match ty { // { dg-error "Cannot find path 'ty' in this scope" "4140" { target *-*-* } .-1 } + ty_app!(bean::Array) => {} + } +}
