5 impl<T> Element<()> for T {
9 impl<T: Element<S>, S> Element<[S; 3]> for T {
10 type Array = [T::Array; 3];
17 fn foo(self, x: <u8 as Element<I>>::Array);
20 impl<I> Foo<I> for u16
24 fn foo(self, _: <u8 as Element<I>>::Array) {}
28 let b: [u8; 3] = [0u8; 3];
30 0u16.foo(b); //~ ERROR type annotations needed
31 //~^ ERROR type annotations needed
32 //<u16 as Foo<[(); 3]>>::foo(0u16, b);