//@ run-pass // FIXME(static_mut_refs): Do not allow `static_mut_refs` lint #![allow(static_mut_refs)] #![allow(non_upper_case_globals)] #[cfg(not(target_vendor = "apple"))] #[link_section = ".moretext"] fn i_live_in_more_text() -> &'static str { "knock knock" } #[cfg(not(target_vendor = "apple"))] #[link_section = ".imm"] static magic: usize = 42; #[cfg(not(target_vendor = "apple"))] #[link_section = ".mut"] static mut frobulator: usize = 0xdeadbeef; #[cfg(target_vendor = "apple")] #[link_section = "__TEXT,__moretext"] fn i_live_in_more_text() -> &'static str { "knock knock" } #[cfg(target_vendor = "apple")] #[link_section = "__RODATA,__imm"] static magic: usize = 42; #[cfg(target_vendor = "apple")] #[link_section = "__DATA,__mut"] static mut frobulator: usize = 0xdeadbeef; pub fn main() { unsafe { frobulator = 0x12345678; println!("{} {} {}", i_live_in_more_text(), magic, frobulator); } }