Skip to content

Files

Latest commit

Feb 13, 2023
401ba55 · Feb 13, 2023

History

History
23 lines (16 loc) · 548 Bytes

File metadata and controls

23 lines (16 loc) · 548 Bytes

Mutability

Variable bindings are immutable by default, but this can be overridden using the mut modifier.

fn main() {
    let _immutable_binding = 1;
    let mut mutable_binding = 1;

    println!("Before mutation: {}", mutable_binding);

    // Ok
    mutable_binding += 1;

    println!("After mutation: {}", mutable_binding);

    // Error! Cannot assign a new value to an immutable variable
    _immutable_binding += 1;
}

The compiler will throw a detailed diagnostic about mutability errors.