1 private@ 2 3 do 4 let f (a : mut ref [u32; 3]) = 5 a[1] = 4 6 let ptr = a.as_mut_ptr 7 ptr[2] = 6 8 9 let mut array = [1, 2, 3] 10 f array@mut_ref 11 assert array[1] == 4 && array[2] == 6 12 13 type A = struct 14 u : bool 15 v : u32 16 17 do 18 let a1 = A u = true 19 v = 10 20 21 let a2 = A u = true 22 v = 15 23 24 let mut array = [a1, a2] 25 26 array[1].v = 8 27 assert array[1].v == 8 28 29 let ref = array[mut_ref 1] 30 ref.v = 12 31 assert array[1].v == 12 32 33 let ptr = array[1]@ptr 34 array[1].v = 17 35 assert ptr@to_ref.v == 17 36