1 // check-pass
2 struct A<const N: usize>;
3 
4 struct X;
5 
6 impl X {
inner<const N: usize>() -> A<N>7     fn inner<const N: usize>() -> A<N> {
8         outer::<N>()
9     }
10 }
11 
outer<const N: usize>() -> A<N>12 fn outer<const N: usize>() -> A<N> {
13     A
14 }
15 
main()16 fn main() {
17     let i: A<3usize> = outer::<3usize>();
18     let o: A<3usize> = X::inner::<3usize>();
19 }
20