use educe::Educe;
-#[derive(Educe)]
+#[derive(Educe, Debug)]
#[educe(Clone)]
pub struct Manual<T> {
- #[educe(Clone(method = "our_clone"))]
+// #[educe(Clone(method = "our_clone"))]
field: T,
}
fn our_clone<T>(_input: &T) -> T {
- None
+ panic!()
}
fn main() {
let a = Manual {
- field: Some(42),
+ field: Some(format!("hi")),
+ };
+ dbg!(&a);
+ let b = a.clone();
+ dbg!(&b);
+ std::hint::black_box(b);
+ let a = Manual {
+ field: std::io::Error::from(std::io::ErrorKind::NotFound),
};
let _ = a.clone();
}