A union cannot have fields with destructors.
union
Erroneous code example:
union Test { a: A, // error! } #[derive(Debug)] struct A(i32); impl Drop for A { fn drop(&mut self) { println!("A"); } }