error[E0382]: use of moved value: `t` --> $DIR/issue-25700.rs:13:10 | LL | let t = S::<()>(None); | - move occurs because `t` has type `S<()>`, which does not implement the `Copy` trait LL | drop(t); | - value moved here LL | drop(t); | ^ value used here after move error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.