//@ build-fail //~^ cycle detected when computing layout of `Wrapper<()>` trait Trait { type Assoc; } impl Trait for () { type Assoc = Wrapper<()>; } struct Wrapper { _x: ::Assoc, } fn abi(_: Option>) {} fn indirect() { abi::(None); } fn main() { indirect::<()>(); }