Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rust-lang/unsafe-code-guidelines

Forum for discussion about what unsafe code can and can't do
https://github.com/rust-lang/unsafe-code-guidelines

Last synced: about 1 month ago
JSON representation

Forum for discussion about what unsafe code can and can't do

Awesome Lists containing this project

README

        

UCG - Rust's Unsafe Code Guidelines
===

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](https://github.com/rust-lang/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"][ucg_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](https://github.com/rust-lang/opsem-team/blob/main/fcps.md) and the [Rust Language Reference].

[ucg_book]: https://rust-lang.github.io/unsafe-code-guidelines
[Rust Language Reference]: https://doc.rust-lang.org/reference/index.html

## See also

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.

[Rustonomicon]: https://doc.rust-lang.org/nightly/nomicon/

## Code of Conduct and licensing

All interactions on this repository (whether on issues, PRs, or
elsewhere) are governed by the [Rust Code of
Conduct](CODE_OF_CONDUCT.md).

Further, all content on this repository is subject to the standard
[Rust](LICENSE-MIT) [licensing](LICENSE-APACHE).