diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/coherence/coherence-overlap-downstream.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/coherence/coherence-overlap-downstream.rs b/src/test/ui/coherence/coherence-overlap-downstream.rs new file mode 100644 index 000000000..738ec0e3d --- /dev/null +++ b/src/test/ui/coherence/coherence-overlap-downstream.rs @@ -0,0 +1,17 @@ +// Tests that we consider `T: Sugar + Fruit` to be ambiguous, even +// though no impls are found. + +pub trait Sugar {} +pub trait Fruit {} +pub trait Sweet {} +impl<T:Sugar> Sweet for T { } +impl<T:Fruit> Sweet for T { } +//~^ ERROR E0119 + +pub trait Foo<X> {} +pub trait Bar<X> {} +impl<X, T> Foo<X> for T where T: Bar<X> {} +impl<X> Foo<X> for i32 {} +//~^ ERROR E0119 + +fn main() { } |