The Dark Arts of Advanced and Unsafe Rust Programming
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Alexis Beingessner 37228b9d7d
flesh out atomics
8 years ago
.gitignore blurp 8 years ago
FiraSans-Medium.woff rustbook support 8 years ago
FiraSans-Regular.woff rustbook support 8 years ago
Heuristica-Italic.woff rustbook support 8 years ago
LICENSE-APACHE first commit 8 years ago
LICENSE-MIT first commit 8 years ago
README.md SHARD ALL THE CHAPTERS 8 years ago
SUMMARY.md shard out concurrency 8 years ago
SourceCodePro-Regular.woff rustbook support 8 years ago
SourceCodePro-Semibold.woff rustbook support 8 years ago
SourceSerifPro-Bold.woff rustbook support 8 years ago
SourceSerifPro-Regular.woff rustbook support 8 years ago
atomics.md flesh out atomics 8 years ago
casts.md SHARD ALL THE CHAPTERS 8 years ago
checked-uninit.md split out and rework drop flags section 8 years ago
coercions.md SHARD ALL THE CHAPTERS 8 years ago
concurrency.md improve joke 8 years ago
constructors.md expand on ctors 8 years ago
conversions.md SHARD ALL THE CHAPTERS 8 years ago
data.md SHARD ALL THE CHAPTERS 8 years ago
destructors.md SHARD ALL THE CHAPTERS 8 years ago
dot-operator.md SHARD ALL THE CHAPTERS 8 years ago
drop-flags.md split out and rework drop flags section 8 years ago
exotic-sizes.md void types 8 years ago
hrtb.md SHARD ALL THE CHAPTERS 8 years ago
leaking.md SHARD ALL THE CHAPTERS 8 years ago
lifetime-elision.md SHARD ALL THE CHAPTERS 8 years ago
lifetime-misc.md SHARD ALL THE CHAPTERS 8 years ago
lifetime-mismatch.md SHARD ALL THE CHAPTERS 8 years ago
lifetimes.md SHARD ALL THE CHAPTERS 8 years ago
meet-safe-and-unsafe.md SHARD ALL THE CHAPTERS 8 years ago
other-reprs.md SHARD ALL THE CHAPTERS 8 years ago
ownership.md SHARD ALL THE CHAPTERS 8 years ago
races.md shard out concurrency 8 years ago
raii.md SHARD ALL THE CHAPTERS 8 years ago
references.md SHARD ALL THE CHAPTERS 8 years ago
repr-rust.md SHARD ALL THE CHAPTERS 8 years ago
rust.css rustbook support 8 years ago
safe-unsafe-meaning.md mdinger fix 8 years ago
send-and-sync.md shard out concurrency 8 years ago
subtyping.md cleanup 8 years ago
transmutes.md SHARD ALL THE CHAPTERS 8 years ago
unbounded-lifetimes.md SHARD ALL THE CHAPTERS 8 years ago
unchecked-uninit.md SHARD ALL THE CHAPTERS 8 years ago
uninitialized.md SHARD ALL THE CHAPTERS 8 years ago
unwinding.md cleanup 8 years ago
vec-alloc.md SHARD ALL THE CHAPTERS 8 years ago
vec-dealloc.md SHARD ALL THE CHAPTERS 8 years ago
vec-deref.md SHARD ALL THE CHAPTERS 8 years ago
vec-drain.md SHARD ALL THE CHAPTERS 8 years ago
vec-final.md SHARD ALL THE CHAPTERS 8 years ago
vec-insert-remove.md SHARD ALL THE CHAPTERS 8 years ago
vec-into-iter.md SHARD ALL THE CHAPTERS 8 years ago
vec-layout.md SHARD ALL THE CHAPTERS 8 years ago
vec-push-pop.md SHARD ALL THE CHAPTERS 8 years ago
vec.md SHARD ALL THE CHAPTERS 8 years ago
working-with-unsafe.md SHARD ALL THE CHAPTERS 8 years ago

README.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.