diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/coherence/coherence-projection-conflict-ty-param.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/ui/coherence/coherence-projection-conflict-ty-param.rs b/src/test/ui/coherence/coherence-projection-conflict-ty-param.rs new file mode 100644 index 000000000..3e4141fa8 --- /dev/null +++ b/src/test/ui/coherence/coherence-projection-conflict-ty-param.rs @@ -0,0 +1,13 @@ +// Coherence error results because we do not know whether `T: Foo<P>` or not +// for the second impl. + +use std::marker::PhantomData; + +pub trait Foo<P> { fn foo() {} } + +impl <P, T: Foo<P>> Foo<P> for Option<T> {} + +impl<T, U> Foo<T> for Option<U> { } +//~^ ERROR E0119 + +fn main() {} |