diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-09-12 15:53:01 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-01-31 14:16:51 +0100 |
commit | 288b6298a6ae9356122362cd604e3582d8decd26 (patch) | |
tree | fc408cf38f4e76c57c2d69b986862b0e0d2ac3d4 | |
parent | 0d5adf09356641070079eadef09717ece164b6b9 (diff) | |
download | gcc-288b6298a6ae9356122362cd604e3582d8decd26.zip gcc-288b6298a6ae9356122362cd604e3582d8decd26.tar.gz gcc-288b6298a6ae9356122362cd604e3582d8decd26.tar.bz2 |
gccrs: const generics: Make sure const generic types are visited properly
...in all contexts.
gcc/testsuite/ChangeLog:
* rust/compile/const_generics_7.rs: New test.
-rw-r--r-- | gcc/testsuite/rust/compile/const_generics_7.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/compile/const_generics_7.rs b/gcc/testsuite/rust/compile/const_generics_7.rs new file mode 100644 index 0000000..2c128db --- /dev/null +++ b/gcc/testsuite/rust/compile/const_generics_7.rs @@ -0,0 +1,17 @@ +struct S<const N: usize>; + +pub fn foo<const N: FooBar>() {} // { dg-error "failed to resolve" } +type Foo<const N: FooBar> = S<N>; // { dg-error "failed to resolve" } +struct Foo2<const N: FooBar>; // { dg-error "failed to resolve" } +enum Foo3<const N: FooBar> { // { dg-error "failed to resolve" } + Foo, + Bar, +} +union Foo4<const N: FooBar> { // { dg-error "failed to resolve" } + a: usize, + b: i32, +} +trait Fooable<const N: FooBar> {} // { dg-error "failed to resolve" } + +trait Traitable {} +impl<const N: FooBar> Traitable for Foo2<N> {} // { dg-error "failed to resolve" } |