let vec1 = vec![1, 2, 3, 4];
let vec2 = vec![Box::new(1), Box::new(2), Box::new(3), Box::new(4)];
В чем разница между ними? Я уже выделил vec1 в кучу. Значит, не все элементы vec1 также находятся в куче? Зачем мне нужно отдельно выделять их в куче, как в vec2?