diff options
Diffstat (limited to 'tests/ui/coherence/coherence-overlap-all-t-and-tuple.rs')
-rw-r--r-- | tests/ui/coherence/coherence-overlap-all-t-and-tuple.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/coherence/coherence-overlap-all-t-and-tuple.rs b/tests/ui/coherence/coherence-overlap-all-t-and-tuple.rs new file mode 100644 index 000000000..574a16a19 --- /dev/null +++ b/tests/ui/coherence/coherence-overlap-all-t-and-tuple.rs @@ -0,0 +1,20 @@ +// Check that we detect an overlap here in the case where: +// +// for some type X: +// T = (X,) +// T11 = X, U11 = X +// +// Seems pretty basic, but then there was issue #24241. :) + +trait From<U> { + fn foo() {} +} + +impl <T> From<T> for T { +} + +impl <T11, U11> From<(U11,)> for (T11,) { +//~^ ERROR E0119 +} + +fn main() { } |