Temporary value dropped while borrowed, but I don't want to do a let
问题 I'm doing something like this: fn main() { //[1, 0, 0, 0, 99]; // return [2, 0, 0, 0, 99] //[2, 3, 0, 3, 99]; // return [2,3,0,6,99] //[2, 4, 4, 5, 99, 0]; // return [2,4,4,5,99,9801] //[1, 1, 1, 4, 99, 5, 6, 0, 99]; // return [30,1,1,4,2,5,6,0,99] let map: Vec<(&mut [usize], &[usize])> = vec![(&mut [1, 0, 0, 0, 99], &[2, 0, 0, 0, 99])]; for (x, y) in map { execute_program(x); assert_eq!(x, y); } } pub fn execute_program(vec: &mut [usize]) { //do something inside vec } Here the playground The