rust/tests/ui/const-generics/defaults/wfness.rs

24 lines
617 B
Rust

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() {}