mirror of https://github.com/rust-lang/rust
42 lines
499 B
Rust
42 lines
499 B
Rust
trait A {
|
|
fn foo(&mut self) {}
|
|
}
|
|
|
|
trait B : A {
|
|
fn foo(&mut self) {}
|
|
}
|
|
|
|
fn bar<T: B>(a: &T) {
|
|
a.foo() //~ ERROR multiple applicable items
|
|
}
|
|
|
|
trait C {
|
|
fn foo(&self) {}
|
|
}
|
|
|
|
trait D : C {
|
|
fn foo(&self) {}
|
|
}
|
|
|
|
fn quz<T: D>(a: &T) {
|
|
a.foo() //~ ERROR multiple applicable items
|
|
}
|
|
|
|
trait E : Sized {
|
|
fn foo(self) {}
|
|
}
|
|
|
|
trait F : E {
|
|
fn foo(self) {}
|
|
}
|
|
|
|
fn foo<T: F>(a: T) {
|
|
a.foo() //~ ERROR multiple applicable items
|
|
}
|
|
|
|
fn pass<T: C>(a: &T) {
|
|
a.foo()
|
|
}
|
|
|
|
fn main() {}
|