rust/tests/ui/statics/recursive_interior_mut.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

21 lines
421 B
Rust
Raw Normal View History

2022-09-02 23:12:03 +00:00
//@ check-pass
use std::cell::Cell;
use std::ptr::NonNull;
struct ChunkFooter {
prev: Cell<NonNull<ChunkFooter>>,
}
struct EmptyChunkFooter(ChunkFooter);
unsafe impl Sync for EmptyChunkFooter {}
static EMPTY_CHUNK: EmptyChunkFooter = EmptyChunkFooter(ChunkFooter {
prev: Cell::new(unsafe {
NonNull::new_unchecked(&EMPTY_CHUNK as *const EmptyChunkFooter as *mut ChunkFooter)
}),
});
fn main() {}