Go to file
2015-07-07 21:30:14 -07:00
.gitignore blurp 2015-06-08 09:57:05 -07:00
arc-and-mutex.md new chapter for reals 2015-07-07 21:30:14 -07:00
atomics.md new chapter 2015-07-07 21:30:03 -07:00
casts.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
checked-uninit.md split out and rework drop flags section 2015-07-07 09:33:20 -07:00
coercions.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
concurrency.md improve joke 2015-07-07 10:03:51 -07:00
constructors.md expand on ctors 2015-07-06 20:25:14 -07:00
conversions.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
data.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
destructors.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
dot-operator.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
drop-flags.md split out and rework drop flags section 2015-07-07 09:33:20 -07:00
exotic-sizes.md void types 2015-07-07 09:39:21 -07:00
FiraSans-Medium.woff rustbook support 2015-06-24 12:15:45 -07:00
FiraSans-Regular.woff rustbook support 2015-06-24 12:15:45 -07:00
Heuristica-Italic.woff rustbook support 2015-06-24 12:15:45 -07:00
hrtb.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
leaking.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
lifetime-elision.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
lifetime-misc.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
lifetime-mismatch.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
lifetimes.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
meet-safe-and-unsafe.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
other-reprs.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
ownership.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
races.md shard out concurrency 2015-07-07 09:48:57 -07:00
raii.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
README.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
references.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
repr-rust.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
rust.css rustbook support 2015-06-24 12:15:45 -07:00
safe-unsafe-meaning.md mdinger fix 2015-07-06 20:28:11 -07:00
send-and-sync.md shard out concurrency 2015-07-07 09:48:57 -07:00
SourceCodePro-Regular.woff rustbook support 2015-06-24 12:15:45 -07:00
SourceCodePro-Semibold.woff rustbook support 2015-06-24 12:15:45 -07:00
SourceSerifPro-Bold.woff rustbook support 2015-06-24 12:15:45 -07:00
SourceSerifPro-Regular.woff rustbook support 2015-06-24 12:15:45 -07:00
subtyping.md cleanup 2015-07-06 23:37:44 -07:00
SUMMARY.md new chapter 2015-07-07 21:30:03 -07:00
transmutes.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
unbounded-lifetimes.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
unchecked-uninit.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
uninitialized.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
unwinding.md cleanup 2015-07-06 23:36:10 -07:00
vec-alloc.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-dealloc.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-deref.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-drain.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-final.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-insert-remove.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-into-iter.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-layout.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec-push-pop.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
vec.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00
working-with-unsafe.md SHARD ALL THE CHAPTERS 2015-07-06 18:36:16 -07:00

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