Rust is a new systems programming language that combines the performance & low-level control of C & C with memory safety & thread safety Rust's modern flexible types ensure your program is free of null pointer dereferences double frees dangling pointers & similar bugs all at compile time without runtime overhead In multi-threaded code Rust catches data races at compile time making concurrency much easier to use Written by two experienced systems programmers this book explains how Rust manages to bridge the gap between performance & safety & how you can take advantage of it Topics include How Rust represents values in memory (with diagrams) Complete explanations of ownership moves borrows & lifetimes Cargo rustdoc unit tests & how to publish your code on cratesio Rust's public package repository High-level features like generic code closures collections & iterators that make Rust productive & flexible Concurrency in Rust threads mutexes channels & atomics all much safer to use than in C or C Unsafe code & how to preserve the integrity of ordinary code that uses it Extended examples illustrating how pieces of the language fit together