Skip to content

rtic-usb-cdc-echo example generates warnings #747

@sre

Description

@sre

With latest Rust compiler, the USB example generates this warning:

    |             USB_BUS.replace(UsbBus::new(usb, &mut EP_MEMORY));
    |                                              ^^^^^^^^^^^^^^ mutable reference of mutable static
    |
    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
    = note: reference of mutable static is a hard error from 2024 edition
    = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
    |
    |             USB_BUS.replace(UsbBus::new(usb, addr_of_mut!(EP_MEMORY)));
    |                                              ~~~~~~~~~~~~~~~~~~~~~~~

warning: mutable reference of mutable static is discouraged

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions