sptr icon indicating copy to clipboard operation
sptr copied to clipboard

sptr: The Strict Provenance Polyfill

Results 6 sptr issues
Sort by recently updated
recently updated
newest added

Strict provenance in libcore saw some renames recently, so the API here is no longer in sync with the one that will be stabilized eventually. - invalid -> without_provenance -...

The `T: Sized` bound doesn't appear to be present in libcore, so I'm presuming it was an oversight here?

Fixes #13 ``` sptr on  add-license [+] ❯ cargo package --allow-dirty --no-verify Packaging sptr v0.3.2 (/home/michel/src/github/Gankra/sptr) sptr on  add-license [+] ❯ tar tf target/package/sptr-0.3.2.crate sptr-0.3.2/.github/workflows/rust.yml sptr-0.3.2/.gitignore sptr-0.3.2/Cargo.toml sptr-0.3.2/Cargo.toml.orig...

This is recommended for packaging in some Linux distributions e.g. Fedora

We have strict provenance APIs for AtomicPtr in the stdlib, but not in `sptr`. - [`AtomicPtr::fetch_and`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_and) - [`AtomicPtr::fetch_or`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_or) - [`AtomicPtr::fetch_xor`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_xor) - [`AtomicPtr::fetch_byte_add`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_add) - [`AtomicPtr::fetch_byte_sub`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_sub) - [`AtomicPtr::fetch_ptr_add`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_add) - [`AtomicPtr::fetch_ptr_sub`](https://doc.rust-lang.org/nightly/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_sub) I think...

This will probably need a different trait (`StrictNonNull`?) as NonNull has additional invariants on its address that must be upheld.