error: creating a shared reference to mutable static is discouraged --> $DIR/reference-to-mut-static.rs:16:18 | LL | let _y = &X; | ^^ shared reference to mutable static | = note: for more information, see issue #114447 = note: this will be a hard error in the 2024 edition = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior note: the lint level is defined here --> $DIR/reference-to-mut-static.rs:6:9 | LL | #![deny(static_mut_refs)] | ^^^^^^^^^^^^^^^ help: use `addr_of!` instead to create a raw pointer | LL | let _y = addr_of!(X); | ~~~~~~~~~~~ error: creating a mutable reference to mutable static is discouraged --> $DIR/reference-to-mut-static.rs:20:18 | LL | let _y = &mut X; | ^^^^^^ mutable reference to mutable static | = note: for more information, see issue #114447 = note: this will be a hard error in the 2024 edition = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior help: use `addr_of_mut!` instead to create a raw pointer | LL | let _y = addr_of_mut!(X); | ~~~~~~~~~~~~~~~ error: creating a shared reference to mutable static is discouraged --> $DIR/reference-to-mut-static.rs:28:22 | LL | let ref _a = X; | ^ shared reference to mutable static | = note: for more information, see issue #114447 = note: this will be a hard error in the 2024 edition = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior help: use `addr_of!` instead to create a raw pointer | LL | let ref _a = addr_of!(X); | ~~~~~~~~~~~ error: creating a shared reference to mutable static is discouraged --> $DIR/reference-to-mut-static.rs:32:25 | LL | let (_b, _c) = (&X, &Y); | ^^ shared reference to mutable static | = note: for more information, see issue #114447 = note: this will be a hard error in the 2024 edition = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior help: use `addr_of!` instead to create a raw pointer | LL | let (_b, _c) = (addr_of!(X), &Y); | ~~~~~~~~~~~ error: creating a shared reference to mutable static is discouraged --> $DIR/reference-to-mut-static.rs:32:29 | LL | let (_b, _c) = (&X, &Y); | ^^ shared reference to mutable static | = note: for more information, see issue #114447 = note: this will be a hard error in the 2024 edition = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior help: use `addr_of!` instead to create a raw pointer | LL | let (_b, _c) = (&X, addr_of!(Y)); | ~~~~~~~~~~~ error: creating a shared reference to mutable static is discouraged --> $DIR/reference-to-mut-static.rs:38:13 | LL | foo(&X); | ^^ shared reference to mutable static | = note: for more information, see issue #114447 = note: this will be a hard error in the 2024 edition = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior help: use `addr_of!` instead to create a raw pointer | LL | foo(addr_of!(X)); | ~~~~~~~~~~~ error: aborting due to 6 previous errors