Skip to content

fix: rust 1.78 doesn't like references to `static mut` objects

Dmitry Ivanov requested to merge funbringer/fix-static-mut-warnings into master

Summary

  • fix: rust 1.78 doesn't like references to static mut objects

This patch fixes a couple of warnings that look like this:

warning: creating a shared reference to mutable static is discouraged
  --> src/error_injection.rs:23:43
   |
23 |     let Some(injected_errors) = (unsafe { &INJECTED_ERRORS }) else {
   |                                           ^^^^^^^^^^^^^^^^ shared reference to mutable static
   |
   = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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
   |
23 |     let Some(injected_errors) = (unsafe { addr_of!(INJECTED_ERRORS) }) else {
   |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~

  • Close #...
  • Changes should be cherry-picked to 24.2: yes / no
  • Docs follow-up: not necessary / new issue

Merge request reports