15 lines
387 B
Rust
15 lines
387 B
Rust
struct S<T: 'static>(#[allow(unused_tuple_struct_fields)] Option<&'static T>);
|
|
|
|
trait Tr { type Out; }
|
|
impl<T> Tr for T { type Out = T; }
|
|
|
|
impl<T: 'static> Copy for S<T> where S<T>: Tr<Out=T> {}
|
|
impl<T: 'static> Clone for S<T> where S<T>: Tr<Out=T> {
|
|
fn clone(&self) -> Self { *self }
|
|
}
|
|
fn main() {
|
|
let t = S::<()>(None);
|
|
drop(t);
|
|
drop(t); //~ ERROR use of moved value
|
|
}
|