#![allow(clippy::incorrect_clone_impl_on_copy_type)] use std::fmt; use std::marker::PhantomData; 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() {}