Closed RustyYato closed 4 years ago
I have added ro
, rw
, rw2
, and rw3
directly to the given owners and they just forward to the generic implementation on the trait. This is to preserve backwards compatibility. I will need to add in the other specialized functions to get complete back-compat, so don't merge just yet
TODO
QCellOwnerID
reclamationYay for long lists!
Most of the basic implementation work is done, I think I have addressed these concerns well enough. Is there anything that stands out to you @uazu?
Do you really need QCellOwnerID
reclamation? I don't think there is ever a use case for creating 2^32 QCellOwner
s, and if you can think of one, we can just bump up to using u64
instead of u32
. Then there won't be any use case of using 2^64 QCellOwner
s. (for scale, going and creating 1 million QCellOwner
s per second would take half a million years to exhaust u64
)
If we ditch reclamation, we can support safe QCell
on no_std
List of breaking changes:
QCellOwner::fast_new
, this unsafe function no longer carries it's weight. QCellOwner::new
will be just as fast in practiceBecause we aren't going we this as per #11, close
see #11 for rationale