// Here we do not get a coherence conflict because `Baz: Iterator` // does not hold and (due to the orphan rules), we can rely on that. // check-pass pub trait Foo

{} pub trait Bar { type Output: 'static; } struct Baz; impl Foo for Baz { } impl Foo for A { } fn main() {}