# Static rustc_lint_defs::builtin::DEREFERENCING_MUT_BINDING

source ·

    pub static DEREFERENCING_MUT_BINDING: &Lint

Expand description

The `dereferencing_mut_binding` lint detects a `mut x` pattern that resets the binding mode, as this behavior will change in rust 2024.

#### §Example

    let x = Some(123u32);
    let _y = match &x {
        Some(mut x) => {
            x += 1;
            x
        }
        None => 0,
    };

{{produces}}

#### §Explanation

Without the `mut`, `x` would have type `&u32`. Pre-2024, adding `mut` makes `x` have type `u32`, which was deemed surprising. After edition 2024, adding `mut` will not change the type of `x`. This lint warns users of editions before 2024 to update their code.