diff options
Diffstat (limited to 'src/test/ui/coherence/coherence-blanket-conflicts-with-specific-trait.rs')
-rw-r--r-- | src/test/ui/coherence/coherence-blanket-conflicts-with-specific-trait.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/coherence/coherence-blanket-conflicts-with-specific-trait.rs b/src/test/ui/coherence/coherence-blanket-conflicts-with-specific-trait.rs new file mode 100644 index 000000000..02f9217da --- /dev/null +++ b/src/test/ui/coherence/coherence-blanket-conflicts-with-specific-trait.rs @@ -0,0 +1,29 @@ +// Test that a blank impl for all T:PartialEq conflicts with an impl for some +// specific T when T:PartialEq. + +trait OtherTrait { + fn noop(&self); +} + +trait MyTrait { + fn get(&self) -> usize; +} + +impl<T:OtherTrait> MyTrait for T { + fn get(&self) -> usize { 0 } +} + +struct MyType { + dummy: usize +} + +impl MyTrait for MyType { +//~^ ERROR E0119 + fn get(&self) -> usize { self.dummy } +} + +impl OtherTrait for MyType { + fn noop(&self) { } +} + +fn main() { } |