]> git.lizzy.rs Git - rust.git/blob - src/test/ui/const-generics/sneaky-array-repeat-expr.rs
Auto merge of #104334 - compiler-errors:ufcs-sugg-wrong-def-id, r=estebank
[rust.git] / src / test / ui / const-generics / sneaky-array-repeat-expr.rs
1 trait Trait<const N: usize> {
2     const Assoc: usize;
3 }
4
5 impl<const N: usize> Trait<N> for () {
6     const Assoc: usize = 1;
7 }
8
9
10 pub const fn foo<const N: usize>() where (): Trait<N> {
11     let bar = [(); <()>::Assoc];
12     //~^ error: constant expression depends on a generic parameter
13 }
14
15 trait Trait2<const N: usize> {
16     const Assoc2: usize;
17 }
18
19 impl<const N: usize> Trait2<N> for () {
20     const Assoc2: usize = N - 1;
21 }
22
23
24 pub const fn foo2<const N: usize>() where (): Trait2<N> {
25     let bar2 = [(); <()>::Assoc2];
26     //~^ error: constant expression depends on a generic parameter
27 }
28
29 fn main() {
30     foo::<0>();
31     foo2::<0>();
32 }