use std::marker::PhantomData; use std::fmt; pub struct Key { #[doc(hidden)] pub __name: &'static str, #[doc(hidden)] pub __phantom: PhantomData, } impl Copy for Key {} impl Clone for Key { fn clone(&self) -> Self { Key { __name: self.__name, __phantom: self.__phantom, } } } fn main() {}