3 trait ZeroSized: Sized {
4 const I_AM_ZERO_SIZED: ();
5 fn requires_zero_size(self);
8 impl<T: Sized> ZeroSized for T {
9 const I_AM_ZERO_SIZED: () = [()][std::mem::size_of::<Self>()]; //~ ERROR evaluation of `<u32 as ZeroSized>::I_AM_ZERO_SIZED` failed
10 fn requires_zero_size(self) {
11 let () = Self::I_AM_ZERO_SIZED;
12 println!("requires_zero_size called");
17 ().requires_zero_size();
18 42_u32.requires_zero_size();