Precommit test for https://github.com/rust-lang/rust/issues/118328.
This commit is contained in:
parent
46a24ed2f4
commit
b1a6cf4a0e
20
tests/mir-opt/const_prop/issue_118328.rs
Normal file
20
tests/mir-opt/const_prop/issue_118328.rs
Normal file
@ -0,0 +1,20 @@
|
||||
// unit-test: ConstProp
|
||||
// compile-flags: -O
|
||||
// skip-filecheck
|
||||
#![allow(unused_assignments)]
|
||||
|
||||
struct SizeOfConst<T>(std::marker::PhantomData<T>);
|
||||
impl<T> SizeOfConst<T> {
|
||||
const SIZE: usize = std::mem::size_of::<T>();
|
||||
}
|
||||
|
||||
// EMIT_MIR issue_118328.size_of.ConstProp.diff
|
||||
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>());
|
||||
}
|
21
tests/mir-opt/const_prop/issue_118328.size_of.ConstProp.diff
Normal file
21
tests/mir-opt/const_prop/issue_118328.size_of.ConstProp.diff
Normal file
@ -0,0 +1,21 @@
|
||||
- // MIR for `size_of` before ConstProp
|
||||
+ // MIR for `size_of` after ConstProp
|
||||
|
||||
fn size_of() -> usize {
|
||||
let mut _0: usize;
|
||||
let mut _1: usize;
|
||||
scope 1 {
|
||||
debug a => _1;
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1);
|
||||
_1 = const 0_usize;
|
||||
_1 = const _;
|
||||
- _0 = _1;
|
||||
+ _0 = const 0_usize;
|
||||
StorageDead(_1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user