// run-pass #![feature(generic_const_exprs)] #![allow(incomplete_features)] trait Foo {} impl Foo for [(); N] where Self: FooImpl<{ N == 0 }> {} trait FooImpl {} impl FooImpl<{ 0u8 == 0u8 }> for [(); 0] {} impl FooImpl<{ 0u8 != 0u8 }> for [(); N] {} fn foo(_v: T) {} fn main() { foo([]); foo([()]); }