diff options
Diffstat (limited to 'tests/ui/const-generics/defaults/wfness.rs')
-rw-r--r-- | tests/ui/const-generics/defaults/wfness.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/const-generics/defaults/wfness.rs b/tests/ui/const-generics/defaults/wfness.rs new file mode 100644 index 000000000..a93f67081 --- /dev/null +++ b/tests/ui/const-generics/defaults/wfness.rs @@ -0,0 +1,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() {} |