Regression test for issue 85435.
This commit is contained in:
parent
1f130fbff8
commit
4742bbb48b
1 changed files with 28 additions and 0 deletions
|
@ -0,0 +1,28 @@
|
|||
// check-pass
|
||||
|
||||
// This is issue #85435. But the real story is reflected in issue #85561, where
|
||||
// a bug in the implementation of feature(capture_disjoint_fields) () was
|
||||
// exposed to non-feature-gated code by a diagnostic changing PR that removed
|
||||
// the gating in one case.
|
||||
|
||||
// This test is double-checking that the case of interest continues to work as
|
||||
// expected in the *absence* of that feature gate. At the time of this writing,
|
||||
// enabling the feature gate will cause this test to fail. We obviously cannot
|
||||
// stabilize that feature until it can correctly handle this test.
|
||||
|
||||
fn main() {
|
||||
let val: u8 = 5;
|
||||
let u8_ptr: *const u8 = &val;
|
||||
let _closure = || {
|
||||
unsafe {
|
||||
// Fails compilation with:
|
||||
// error[E0133]: dereference of raw pointer is unsafe and
|
||||
// requires unsafe function or block
|
||||
let tmp = *u8_ptr;
|
||||
tmp
|
||||
|
||||
// Just dereferencing and returning directly compiles fine:
|
||||
// *u8_ptr
|
||||
}
|
||||
};
|
||||
}
|
Loading…
Add table
Reference in a new issue