1 struct S<T: 'static>(Option<&'static T>);
4 impl<T> Tr for T { type Out = T; }
6 impl<T: 'static> Copy for S<T> where S<T>: Tr<Out=T> {}
7 impl<T: 'static> Clone for S<T> where S<T>: Tr<Out=T> {
8 fn clone(&self) -> Self { *self }
11 let t = S::<()>(None);
13 drop(t); //~ ERROR use of moved value