// compile-flags: -O | |
// run-pass | |
// Regression test for https://github.com/rust-lang/rust/issues/118328 | |
#![allow(unused_assignments)] | |
struct SizeOfConst<T>(std::marker::PhantomData<T>); | |
impl<T> SizeOfConst<T> { | |
const SIZE: usize = std::mem::size_of::<T>(); | |
} | |
fn size_of<T>() -> usize { | |
let mut a = 0; | |
a = SizeOfConst::<T>::SIZE; | |
a | |
} | |
fn main() { | |
assert_eq!(size_of::<u32>(), std::mem::size_of::<u32>()); | |
} |