From 44b3c38b440f9b251ad62e5bd78a0af2015d545d Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Mon, 22 Oct 2018 18:34:48 +0200 Subject: [PATCH] make sure raw ptrs only have to be valid as far as they are used --- tests/run-pass/deref_partially_dangling_raw.rs | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 tests/run-pass/deref_partially_dangling_raw.rs diff --git a/tests/run-pass/deref_partially_dangling_raw.rs b/tests/run-pass/deref_partially_dangling_raw.rs new file mode 100644 index 000000000000..8639a289363b --- /dev/null +++ b/tests/run-pass/deref_partially_dangling_raw.rs @@ -0,0 +1,9 @@ +// Deref a raw ptr to access a field of a large struct, where the field +// is allocated but not the entire struct is. +// For now, we want to allow this. + +fn main() { + let x = (1, 1); + let xptr = &x as *const _ as *const (i32, i32, i32); + let _val = unsafe { (*xptr).1 }; +}