mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-18 03:25:55 +00:00
24 lines
446 B
Rust
24 lines
446 B
Rust
fn require_copy<T: Copy>(x: T) {}
|
|
|
|
struct Bar<T> { x: T }
|
|
|
|
trait Foo<T> {
|
|
fn needs_copy(self) where T: Copy;
|
|
fn fails_copy(self);
|
|
}
|
|
|
|
// Ensure constraints are only attached to methods locally
|
|
impl<T> Foo<T> for Bar<T> {
|
|
fn needs_copy(self) where T: Copy {
|
|
require_copy(self.x);
|
|
|
|
}
|
|
|
|
fn fails_copy(self) {
|
|
require_copy(self.x);
|
|
//~^ ERROR the trait bound `T: Copy` is not satisfied
|
|
}
|
|
}
|
|
|
|
fn main() {}
|