use std::mem::size_of; struct S { _u: U, size_of_u: usize, _v: V, size_of_v: usize } impl S { fn new(u: U, v: V) -> Self { S { _u: u, size_of_u: size_of::(), _v: v, size_of_v: size_of::() } } } impl Drop for S { fn drop(&mut self) { assert_eq!(size_of::(), self.size_of_u); assert_eq!(size_of::(), self.size_of_v); } } fn main() { S::new(0u8, 1u16); }