If you use String which is heap allocated, you don't really need to worry about lifetimes.
&str on the other hand
&str on the other hand
Does that answer the question? Could you expand on what you mean by sharing `&str`?
I consider it a midpoint between `String` and `&str`. Most of the convenience of `String` (barring mutation) but less costly.