blob: dc5813d8c7834e694be1d35c7178a9de32634f45 [file] [log] [blame]
//! Ensure that writing to `S` while initializing `S` errors.
//! Regression test for <https://github.com/rust-lang/rust/issues/142404>.
#![allow(dead_code)]
struct Foo {
x: i32,
y: (),
}
static S: Foo = Foo {
x: 0,
y: unsafe {
(&raw const S.x).cast_mut().write(1); //~ERROR access itself during initialization
},
};
static mut S2: Foo = Foo {
x: 0,
y: unsafe {
S2.x = 1; //~ERROR access itself during initialization
},
};
fn main() {}