.gitignore | ||
atomics.md | ||
casts.md | ||
checked-uninit.md | ||
coercions.md | ||
concurrency.md | ||
constructors.md | ||
conversions.md | ||
data.md | ||
destructors.md | ||
dot-operator.md | ||
drop-flags.md | ||
exotic-sizes.md | ||
FiraSans-Medium.woff | ||
FiraSans-Regular.woff | ||
Heuristica-Italic.woff | ||
hrtb.md | ||
leaking.md | ||
lifetime-elision.md | ||
lifetime-misc.md | ||
lifetime-mismatch.md | ||
lifetimes.md | ||
meet-safe-and-unsafe.md | ||
other-reprs.md | ||
ownership.md | ||
races.md | ||
raii.md | ||
README.md | ||
references.md | ||
repr-rust.md | ||
rust.css | ||
safe-unsafe-meaning.md | ||
send-and-sync.md | ||
SourceCodePro-Regular.woff | ||
SourceCodePro-Semibold.woff | ||
SourceSerifPro-Bold.woff | ||
SourceSerifPro-Regular.woff | ||
subtyping.md | ||
SUMMARY.md | ||
transmutes.md | ||
unbounded-lifetimes.md | ||
unchecked-uninit.md | ||
uninitialized.md | ||
unwinding.md | ||
vec-alloc.md | ||
vec-dealloc.md | ||
vec-deref.md | ||
vec-drain.md | ||
vec-final.md | ||
vec-insert-remove.md | ||
vec-into-iter.md | ||
vec-layout.md | ||
vec-push-pop.md | ||
vec.md | ||
working-with-unsafe.md |
% The Unsafe Rust Programming Language
NOTE: This is a draft document, and may contain serious errors
This document is about advanced functionality and low-level development practices in the Rust Programming Language. Most of the things discussed won't matter to the average Rust programmer. However if you wish to correctly write unsafe code in Rust, this text contains invaluable information.
The Unsafe Rust Programming Language (TURPL) seeks to complement The Rust Programming Language Book (TRPL). Where TRPL introduces the language and teaches the basics, TURPL dives deep into the specification of the language, and all the nasty bits necessary to write Unsafe Rust. TURPL does not assume you have read TRPL, but does assume you know the basics of the language and systems programming. We will not explain the stack or heap. We will not explain the basic syntax.