We have strict provenance APIs for AtomicPtr in the stdlib, but not in sptr.
I think its reasonably likely that the last two get renamed, since the name is rather misleading at the moment. It might be worth leaving them out, since they can be replicated in terms of fetch_byte_{add,sub} anyway.
I don't really know how to shim this best. The most "accurate" way would be in terms of fetch_update that uses with_addr in it's closure. But this would... kinda destroy performance. An approach that special-cases miri might be worth using.
I'll try to PR these next weekend I guess, but if someone else feels like taking it they should feel free.
We have strict provenance APIs for AtomicPtr in the stdlib, but not in
sptr.AtomicPtr::fetch_andAtomicPtr::fetch_orAtomicPtr::fetch_xorAtomicPtr::fetch_byte_addAtomicPtr::fetch_byte_subAtomicPtr::fetch_ptr_addAtomicPtr::fetch_ptr_subI think its reasonably likely that the last two get renamed, since the name is rather misleading at the moment. It might be worth leaving them out, since they can be replicated in terms of
fetch_byte_{add,sub}anyway.I don't really know how to shim this best. The most "accurate" way would be in terms of
fetch_updatethat useswith_addrin it's closure. But this would... kinda destroy performance. An approach that special-cases miri might be worth using.I'll try to PR these next weekend I guess, but if someone else feels like taking it they should feel free.