Unique
#6
Labels
domain: Rust
Involves Rust code.
good first issue
Good for newcomers
priority: someday
If you need this, please let me know!
state: approved
Approved to proceed.
type: feature
Brand new functionality, features, pages, workflows, endpoints, etc.
work: clear
A known solution is (to be) implemented.
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
orRc
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 andRefCounter
in this crate should be directly compatible.Describe the solution you'd like
The new
Unique<T>
should behave exactly likeArc<T>
, with the caveat that it can't be cloned without converting it to the latter first. IfRc<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 fromUnique<T>
that do adjust the reference count.Describe alternatives you've considered
None.
Additional context
None.
The text was updated successfully, but these errors were encountered: