]> git.proxmox.com Git - rustc.git/blame - src/test/compile-fail/coherence-blanket-conflicts-with-specific-multidispatch.rs
Imported Upstream version 1.9.0+dfsg1
[rustc.git] / src / test / compile-fail / coherence-blanket-conflicts-with-specific-multidispatch.rs
CommitLineData
1a4d82fc
JJ
1// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
c34b1796 11use std::fmt::Debug;
1a4d82fc
JJ
12use std::default::Default;
13
14// Test that a blank impl for all T conflicts with an impl for some
15// specific T, even when there are multiple type parameters involved.
16
17trait MyTrait<T> {
18 fn get(&self) -> T;
19}
20
54a0048b 21impl<T> MyTrait<T> for T {
1a4d82fc
JJ
22 fn get(&self) -> T {
23 panic!()
24 }
25}
26
27#[derive(Clone)]
28struct MyType {
29 dummy: usize
30}
31
54a0048b 32impl MyTrait<MyType> for MyType { //~ ERROR E0119
1a4d82fc
JJ
33 fn get(&self) -> usize { (*self).clone() }
34}
35
36fn main() { }