diff options
| author | 许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com> | 2024-04-20 21:45:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-20 21:45:35 +0100 |
| commit | ccd9880769304d41fefcdb028c1df646603bcc4e (patch) | |
| tree | c34c859ce22c5303b3e4d6a52a53ef2c57ef59b0 /compiler/rustc_codegen_cranelift | |
| parent | e9e936cfa8dfdd1b7320a219316b6bd6dbccf300 (diff) | |
| parent | b4a46457581e9c777af8d31a9e1cd145d8c1be31 (diff) | |
| download | rust-ccd9880769304d41fefcdb028c1df646603bcc4e.tar.gz rust-ccd9880769304d41fefcdb028c1df646603bcc4e.zip | |
Rollup merge of #123967 - RalfJung:static_mut_refs, r=Nilstrieb
static_mut_refs: use raw pointers to remove the remaining FIXME Using `SyncUnsafeCell` would not make a lot of sense IMO.
Diffstat (limited to 'compiler/rustc_codegen_cranelift')
| -rw-r--r-- | compiler/rustc_codegen_cranelift/example/mini_core_hello_world.rs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/compiler/rustc_codegen_cranelift/example/mini_core_hello_world.rs b/compiler/rustc_codegen_cranelift/example/mini_core_hello_world.rs index 8b0b9123ac7..efa4be7e15a 100644 --- a/compiler/rustc_codegen_cranelift/example/mini_core_hello_world.rs +++ b/compiler/rustc_codegen_cranelift/example/mini_core_hello_world.rs @@ -1,4 +1,13 @@ -#![feature(no_core, lang_items, never_type, linkage, extern_types, thread_local, repr_simd)] +#![feature( + no_core, + lang_items, + never_type, + linkage, + extern_types, + thread_local, + repr_simd, + raw_ref_op +)] #![no_core] #![allow(dead_code, non_camel_case_types, internal_features)] @@ -112,9 +121,7 @@ fn start<T: Termination + 'static>( static mut NUM: u8 = 6 * 7; -// FIXME: Use `SyncUnsafeCell` instead of allowing `static_mut_refs` lint -#[allow(static_mut_refs)] -static NUM_REF: &'static u8 = unsafe { &NUM }; +static NUM_REF: &'static u8 = unsafe { &*&raw const NUM }; unsafe fn zeroed<T>() -> T { let mut uninit = MaybeUninit { uninit: () }; |
