-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Is your feature request related to a problem? Please describe.
It's fairly likely that situation will appear where a guaranteed-unique but still reference-counted smart pointer type would be helpful.
For example, this type could allow mutable access to its managed instance at no overhead, and then could be converted into an Arc
or Rc
again with no overhead.
It would also be useful as common hub to convert between smart pointer types, since any smart pointer with reference count 1
and matching encapsulation and RefCounter
in this crate should be directly compatible.
Describe the solution you'd like
The new Unique<T>
should behave exactly like Arc<T>
, with the caveat that it can't be cloned without converting it to the latter first. If Rc<T>
is already implemented, it should also be convertible to and from that.
(The latter conversion should probably use TryFrom
.)
There should also be infallible Box<T>
conversions to and from Unique<T>
that do adjust the reference count.
Describe alternatives you've considered
None.
Additional context
None.