google / google/zerocopy

Model all memory operations in `Ptr`

Open
#859 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.6k
Forks
179
Avg merge
1d 19h
Merged PRs (30d)
29

Description

Our eventual goal for `Ptr` is that it encodes the complete taxonomy of (single-threaded) memory operations one might want to perform on values, references, containers, or other smart pointer types. When that is done, 100% of zerocopy should consist of uses of `Ptr`, mostly without the need for `unsafe` code.

This issue tracks various designs that will be required in order to reach that goal.

More speculative possibilities:
- [ ] Support borrow splitting à la [borrow](https://crates.io/crates/borrow)
- [ ] Support dynamic aliasing; would allow us to support `RefCell` functionality
- [ ] Support dynamic ownership; would allow us to support `Rc`/`Arc` functionality

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.