diff options
| author | Jakob Degen <jakob.e.degen@gmail.com> | 2022-12-03 23:54:55 -0800 |
|---|---|---|
| committer | Jakob Degen <jakob.e.degen@gmail.com> | 2022-12-14 01:02:35 -0800 |
| commit | c1b27eea45ef1fe330dd24dc3aa7028cb4d98e8c (patch) | |
| tree | eb09e5d2f4c69153bff0d1882c85da4d661a695b /src | |
| parent | 21ee03e0621c70b894e1bfdd8c82ba5aeaabc812 (diff) | |
Fix unsafetyck disabling for custom MIR
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/mir-opt/building/custom/references.raw_pointer.built.after.mir | 10 | ||||
| -rw-r--r-- | src/test/mir-opt/building/custom/references.rs | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/test/mir-opt/building/custom/references.raw_pointer.built.after.mir b/src/test/mir-opt/building/custom/references.raw_pointer.built.after.mir new file mode 100644 index 00000000000..775e5e3ad9b --- /dev/null +++ b/src/test/mir-opt/building/custom/references.raw_pointer.built.after.mir @@ -0,0 +1,10 @@ +// MIR for `raw_pointer` after built + +fn raw_pointer(_1: *const i32) -> *const i32 { + let mut _0: *const i32; // return place in scope 0 at $DIR/references.rs:+0:38: +0:48 + + bb0: { + _0 = &raw const (*_1); // scope 0 at $DIR/references.rs:+4:9: +4:27 + return; // scope 0 at $DIR/references.rs:+5:9: +5:17 + } +} diff --git a/src/test/mir-opt/building/custom/references.rs b/src/test/mir-opt/building/custom/references.rs index dee85722e86..c93f6ec624b 100644 --- a/src/test/mir-opt/building/custom/references.rs +++ b/src/test/mir-opt/building/custom/references.rs @@ -36,8 +36,22 @@ pub fn immut_ref(x: &i32) -> &i32 { ) } +// EMIT_MIR references.raw_pointer.built.after.mir +#[custom_mir(dialect = "built")] +pub fn raw_pointer(x: *const i32) -> *const i32 { + // Regression test for a bug in which unsafetyck was not correctly turned off for + // `dialect = "built"` + mir!({ + RET = addr_of!(*x); + Return() + }) +} + fn main() { let mut x = 5; assert_eq!(*mut_ref(&mut x), 5); assert_eq!(*immut_ref(&x), 5); + unsafe { + assert_eq!(*raw_pointer(addr_of!(x)), 5); + } } |
