trait TraitB { | |
type Item; | |
} | |
trait TraitA<A> { | |
fn foo<T: TraitB<Item = A>>(_: T) -> Self; | |
fn bar<T>(_: T) -> Self; | |
fn baz<T>(_: T) -> Self where T: TraitB, <T as TraitB>::Item: Copy; | |
fn bat<T: TraitB<Item: Copy>>(_: T) -> Self; | |
} | |
struct S; | |
impl TraitA<()> for S { //~ ERROR not all trait items implemented | |
} | |
use std::iter::FromIterator; | |
struct X; | |
impl FromIterator<()> for X { //~ ERROR not all trait items implemented | |
} | |
fn main() {} |