summaryrefslogtreecommitdiffstats
path: root/tests/ui/const-generics/defaults/wfness.rs
blob: a93f670815a03d9515a8559418e10767977f432d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct Ooopsies<const N: u8 = { u8::MAX + 1 }>;
//~^ error: evaluation of constant value failed

trait Trait<const N: u8> {}
impl Trait<3> for () {}
struct WhereClause<const N: u8 = 2>
where
    (): Trait<N>;
//~^ error: the trait bound `(): Trait<2>` is not satisfied

trait Traitor<T, const N: u8> {}
struct WhereClauseTooGeneric<T = u32, const N: u8 = 2>(T)
where
    (): Traitor<T, N>;

// no error on struct def
struct DependentDefaultWfness<const N: u8 = 1, T = WhereClause<N>>(T);
fn foo() -> DependentDefaultWfness {
    //~^ error: the trait bound `(): Trait<1>` is not satisfied
    loop {}
}

fn main() {}