//@ compile-flags: -Znext-solver | |
//@ revisions: pass fail | |
//@[pass] check-pass | |
struct Wrapper<T, const N: usize>([T; N]); | |
trait Foo {} | |
fn needs_foo<F: Foo>() {} | |
#[cfg(fail)] | |
impl<T> Foo for [T; 1] {} | |
#[cfg(pass)] | |
impl<T, const N: usize> Foo for [T; N] {} | |
fn test<T, const N: usize>() { | |
needs_foo::<[T; N]>(); | |
//[fail]~^ ERROR the trait bound `[T; N]: Foo` is not satisfied | |
} | |
fn main() {} |