2014-12-20 04:29:19 -06:00
|
|
|
fn require_copy<T: Copy>(x: T) {}
|
|
|
|
|
|
|
|
struct Foo<T> { x: T }
|
|
|
|
|
|
|
|
// Ensure constraints are only attached to methods locally
|
|
|
|
impl<T> Foo<T> {
|
|
|
|
fn needs_copy(self) where T: Copy {
|
|
|
|
require_copy(self.x);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
fn fails_copy(self) {
|
|
|
|
require_copy(self.x);
|
2020-09-02 02:40:56 -05:00
|
|
|
//~^ ERROR the trait bound `T: Copy` is not satisfied
|
2014-12-20 04:29:19 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|