trait clam { } struct foo { let x: A; fn bar>(c: C) -> B { fail; } } fn foo(b: A) -> foo { foo { x: b } } fn main() { }