mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-03 02:40:40 +00:00
24 lines
470 B
Rust
24 lines
470 B
Rust
// Compiler:
|
|
//
|
|
// Run-time:
|
|
// status: 0
|
|
|
|
use std::mem::MaybeUninit;
|
|
|
|
#[allow(dead_code)]
|
|
#[derive(Debug)]
|
|
struct Struct {
|
|
pointer: *const (),
|
|
func: unsafe fn(*const ()),
|
|
}
|
|
|
|
fn func(_ptr: *const ()) {}
|
|
|
|
fn main() {
|
|
let mut x = MaybeUninit::<&Struct>::uninit();
|
|
x.write(&Struct { pointer: std::ptr::null(), func });
|
|
let x = unsafe { x.assume_init() };
|
|
let value = unsafe { (x as *const Struct).read_volatile() };
|
|
println!("{:?}", value);
|
|
}
|