&T — immutable reference. &mut T — mutable reference.
&T:
&mut T:
1fn read(data: &[i32]) {2 println!("{:?}", data);3}4 5fn write(data: &mut Vec<i32>) {6 data.push(1);7}
Borrow checker enforces:
Key: &T for reading, &mut T for writing.