The purpose of this repository is to collect and discuss all sorts of questions that come up when writing unsafe code. It is primarily used by the opsem team to track open questions around the operational semantics, but we also track some "non-opsem" questions that fall into T-lang or T-type's purview, if they are highly relevant to unsafe code authors.
The Unsafe Code Guidelines Reference "book" is a past effort to systematize a consensus on some of these questions. It is not actively maintained any more, but can still be a good source of information and references. Note however that unless stated otherwise, the information in the guide is mostly a "recommendation" and still subject to change.
Current consensus is documented in t-opsem FCPs and the Rust Language Reference.
The Rustonomicon is a draft document discussing unsafe code. It is intended to be brought into agreement with the content here. It represents an organized effort to explain how to write Rust code, rather than a reference.
All interactions on this repository (whether on issues, PRs, or elsewhere) are governed by the Rust Code of Conduct.
Further, all content on this repository is subject to the standard Rust licensing.