diff options
Diffstat (limited to 'tests/ui/coherence/coherence-overlap-issue-23516.rs')
-rw-r--r-- | tests/ui/coherence/coherence-overlap-issue-23516.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/ui/coherence/coherence-overlap-issue-23516.rs b/tests/ui/coherence/coherence-overlap-issue-23516.rs new file mode 100644 index 000000000..63e42e8f4 --- /dev/null +++ b/tests/ui/coherence/coherence-overlap-issue-23516.rs @@ -0,0 +1,11 @@ +// Tests that we consider `Box<U>: !Sugar` to be ambiguous, even +// though we see no impl of `Sugar` for `Box`. Therefore, an overlap +// error is reported for the following pair of impls (#23516). + +pub trait Sugar { fn dummy(&self) { } } +pub trait Sweet { fn dummy(&self) { } } +impl<T:Sugar> Sweet for T { } +impl<U:Sugar> Sweet for Box<U> { } +//~^ ERROR E0119 + +fn main() { } |