//@ check-pass | |
trait Baz { | |
type Quaks; | |
} | |
impl Baz for u8 { | |
type Quaks = [u16; 3]; | |
} | |
trait Bar {} | |
impl Bar for [u16; 3] {} | |
impl Bar for [[u16; 3]; 2] {} | |
trait Foo | |
where | |
[<u8 as Baz>::Quaks; 2]: Bar, | |
<u8 as Baz>::Quaks: Bar, | |
{ | |
} | |
struct FooImpl; | |
impl Foo for FooImpl {} | |
fn f(_: impl Foo) {} | |
fn main() { | |
f(FooImpl) | |
} |