about summary refs log tree commit diff
path: root/tests/crashes/118244.rs
blob: bfa1f5b7dd489ee17461168f0832731c3101bda8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//@ known-bug: #118244
//@ compile-flags: -Cdebuginfo=2

#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
struct Inner<const N: usize, const M: usize>;
impl<const N: usize, const M: usize> Inner<N, M> where [(); N + M]: {
    fn i() -> Self {
        Self
    }
}

struct Outer<const A: usize, const B: usize>(Inner<A, { B * 2 }>) where [(); A + (B * 2)]:;
impl<const A: usize, const B: usize> Outer<A, B> where [(); A + (B * 2)]: {
    fn o() -> Self {
        Self(Inner::i())
    }
}

fn main() {
    Outer::<1, 1>::o();
}