References

Contents

References#

&T is a shared reference; &mut T is an exclusive reference. References can never be null (use Option<&T> to express absence).

Take a shared reference.

let n = 10;
let r: &i32 = &n;

Dereference with *.

let v = *r;                     // 10

Mutate through an exclusive reference.

fn inc(x: &mut i32) { *x += 1; }

References#