#![feature(rustc_attrs)] // Here we expect a coherence conflict because, even though `i32` does // not implement `Iterator`, we cannot rely on that negative reasoning // due to the orphan rules. Therefore, `A::Item` may yet turn out to // be `i32`. pub trait Foo

{ fn foo() {} } pub trait Bar { type Output: 'static; } impl Foo for i32 { } impl Foo for A { } //~^ ERROR E0119 fn main() {}