You just allocate by pointing toward the reference, which work as long as it is mutable and there are no other references.
let mut foo: String = Default::default(); let foo_ref = &mut foo; *foo_ref= "bar".to_string(); println!("{}",foo); // bar