diff options
| author | Ellen <supbscripter@gmail.com> | 2021-09-02 21:20:51 +0100 |
|---|---|---|
| committer | Ellen <supbscripter@gmail.com> | 2021-09-02 21:22:13 +0100 |
| commit | d3434b3181aa6dcdefe5c4b802b0650165209d18 (patch) | |
| tree | e3426fae1aa771b699675a6ade30578062206038 /src/test/ui/const-generics/sneaky-array-repeat-expr.rs | |
| parent | 1cf8fdd4f0be26bcfa9e3b1e10d4bf80107ba492 (diff) | |
| download | rust-d3434b3181aa6dcdefe5c4b802b0650165209d18.tar.gz rust-d3434b3181aa6dcdefe5c4b802b0650165209d18.zip | |
E-not-needs-test
Diffstat (limited to 'src/test/ui/const-generics/sneaky-array-repeat-expr.rs')
| -rw-r--r-- | src/test/ui/const-generics/sneaky-array-repeat-expr.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/sneaky-array-repeat-expr.rs b/src/test/ui/const-generics/sneaky-array-repeat-expr.rs new file mode 100644 index 00000000000..b147c246bda --- /dev/null +++ b/src/test/ui/const-generics/sneaky-array-repeat-expr.rs @@ -0,0 +1,32 @@ +trait Trait<const N: usize> { + const Assoc: usize; +} + +impl<const N: usize> Trait<N> for () { + const Assoc: usize = 1; +} + + +pub const fn foo<const N: usize>() where (): Trait<N> { + let bar = [(); <()>::Assoc]; + //~^ error: constant expression depends on a generic parameter +} + +trait Trait2<const N: usize> { + const Assoc2: usize; +} + +impl<const N: usize> Trait2<N> for () { + const Assoc2: usize = N - 1; +} + + +pub const fn foo2<const N: usize>() where (): Trait2<N> { + let bar2 = [(); <()>::Assoc2]; + //~^ error: constant expression depends on a generic parameter +} + +fn main() { + foo::<0>(); + foo2::<0>(); +} |
