#[derive(Clone)] | |
struct S; | |
trait X {} | |
impl X for S {} | |
fn foo<T: X>(_: T) {} | |
fn bar<T: X>(s: &T) { | |
foo(s); //~ ERROR the trait bound `&T: X` is not satisfied | |
} | |
fn bar_with_clone<T: X + Clone>(s: &T) { | |
foo(s); //~ ERROR the trait bound `&T: X` is not satisfied | |
} | |
fn main() { | |
let s = &S; | |
bar(s); | |
} |