24 lines
426 B
Rust
24 lines
426 B
Rust
trait Trait {}
|
|
|
|
struct A;
|
|
struct B;
|
|
struct C;
|
|
|
|
impl Trait for &A {}
|
|
impl Trait for &mut A {}
|
|
|
|
impl Trait for &B {}
|
|
|
|
impl Trait for &mut C {}
|
|
|
|
fn foo<X: Trait>(_: X) {}
|
|
|
|
fn main() {
|
|
let a = A;
|
|
let b = B;
|
|
let c = C;
|
|
foo(a); //~ ERROR the trait bound `A: Trait` is not satisfied
|
|
foo(b); //~ ERROR the trait bound `B: Trait` is not satisfied
|
|
foo(c); //~ ERROR the trait bound `C: Trait` is not satisfied
|
|
}
|