There's no obligation to pass everything in references. You can wrap most things in Box/Rc/Arc and move on with your life.
If you are going to use it like a garbage collected language, you would be better served by one of the slew of other languages with the same features but which are easier to use. The memory management is what sets Rust apart.