1 // Regression test for #84408.
4 #![feature(generic_const_exprs)]
5 #![allow(incomplete_features)]
7 trait Melon<const X: usize> {
8 fn new(arr: [i32; X]) -> Self;
9 fn change<T: Melon<X>>(self) -> T;
13 struct Bar<const A: usize, const B: usize>([i32; A + B])
17 impl Melon<5> for Foo {
18 fn new(arr: [i32; 5]) -> Self {
21 fn change<T: Melon<5>>(self) -> T {
26 impl<const A: usize, const B: usize> Melon<{ A + B }> for Bar<A, B>
30 fn new(arr: [i32; A + B]) -> Self {
33 fn change<T: Melon<{ A + B }>>(self) -> T {