Почему не рекомендуется принимать ссылку на String (& String), Vec (& Vec) или Box (& Box) в качестве аргумента функции?

Я написал код на Rust, который принимает &Stringв качестве аргумента: fn awesome_greeting(name: &String) { println!("Wow, you are awesome, {}!", name); } Я также написал код, который принимает ссылку на Vecили Box: fn total_price(prices: &Vec<i32>) -> i32 { prices.iter().sum()...