From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- ...e-blanket-conflicts-with-blanket-implemented.rs | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/ui/coherence/coherence-blanket-conflicts-with-blanket-implemented.rs (limited to 'tests/ui/coherence/coherence-blanket-conflicts-with-blanket-implemented.rs') diff --git a/tests/ui/coherence/coherence-blanket-conflicts-with-blanket-implemented.rs b/tests/ui/coherence/coherence-blanket-conflicts-with-blanket-implemented.rs new file mode 100644 index 000000000..93a4bc5fe --- /dev/null +++ b/tests/ui/coherence/coherence-blanket-conflicts-with-blanket-implemented.rs @@ -0,0 +1,30 @@ +use std::fmt::Debug; +use std::default::Default; + +// Test that two blanket impls conflict (at least without negative +// bounds). After all, some other crate could implement Even or Odd +// for the same type (though this crate doesn't). + +trait MyTrait { + fn get(&self) -> usize; +} + +trait Even { } + +trait Odd { } + +impl Even for isize { } + +impl Odd for usize { } + +impl MyTrait for T { + fn get(&self) -> usize { 0 } +} + +impl MyTrait for T { +//~^ ERROR E0119 + + fn get(&self) -> usize { 0 } +} + +fn main() { } -- cgit v1.2.3