//! Check that we don't break orphan rules. //! The dependency may add an impl for `u8` later, //! which would break this crate. We want to avoid adding //! more ways in which adding an impl can be a breaking change. //! This test differs from `trivial_impl3` because there actually //! exists any impl for `Trait`, which has an effect on coherence. //@ aux-build:trivial4.rs extern crate trivial4; pub trait Foo { fn foo() where Self: trivial4::Trait; } impl Foo for u8 {} //~^ ERROR not all trait items implemented, missing: `foo` fn main() {}