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