Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A `&str` is a borrow of the string slice data, and has borrowing semantics. An `std::sync::Arc<str>` on the other hand isn't borrowed but has shared ownership and is atomically reference counted.

Does that answer the question? Could you expand on what you mean by sharing `&str`?



I suppose my question is what motivates the use of atomically referencing counting string slice rather than borrowing?


You can store it independently without it being borrowed. So your structs don't need lifetimes.

I consider it a midpoint between `String` and `&str`. Most of the convenience of `String` (barring mutation) but less costly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: