google / google/zerocopy

Accepted risk: `Immutable` types assumed not to contain `UnsafeCell`s

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

Description

As part of #1155, we need guarantees that certain standard library types such as `Box` and `NonZeroXxx` and even built-ins such as `usize` do not contain `UnsafeCell`s. Per https://github.com/rust-lang/unsafe-code-guidelines/issues/492, it is difficult to get this guarantee, but it's also incredibly obvious that it's true and would be absurd to change (and certainly absurd in a way that doesn't just result in these types containing `UnsafeCell`s, but in a way that permits interior mutation to be exercised, which is really what `Immutable` cares about).

This issue tracks that this is an accepted risk, and we're going to proceed with 0.8 anyway.

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.