Foreword
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Introduction
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Getting Started
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Installation
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Hello, World!
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Hello, Cargo!
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Programming a Guessing Game
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Common Programming Concepts
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Variables and Mutability
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Data Types
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Functions
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Comments
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Control Flow
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Understanding Ownership
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
What Is Ownership?
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
References and Borrowing
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
The Slice Type
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Using Structs to Structure Related Data
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Defining and Instantiating Structs
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
An Example Program Using Structs
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Method Syntax
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Enums and Pattern Matching
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Defining an Enum
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
The match
Control Flow Operator
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Concise Control Flow with if let
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Packages, Crates, and Modules
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Packages and Crates for Making Libraries and Executables
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
The Module System to Control Scope and Privacy
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Common Collections
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Storing Lists of Values with Vectors
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Storing UTF-8 Encoded Text with Strings
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Storing Keys with Associated Values in Hash Maps
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Error Handling
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Unrecoverable Errors with panic!
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Recoverable Errors with Result
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
To panic!
or Not to panic!
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Generic Types, Traits, and Lifetimes
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Generic Data Types
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Traits: Defining Shared Behavior
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Validating References with Lifetimes
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Writing Automated Tests
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
How to Write Tests
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Controlling How Tests Are Run
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Test Organization
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
An I/O Project: Building a Command Line Program
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Accepting Command Line Arguments
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Reading a File
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Refactoring to Improve Modularity and Error Handling
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Developing the Library’s Functionality with Test-Driven Development
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Working with Environment Variables
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Writing Error Messages to Standard Error Instead of Standard Output
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Functional Language Features: Iterators and Closures
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Closures: Anonymous Functions that Can Capture Their Environment
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Processing a Series of Items with Iterators
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Improving Our I/O Project
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Comparing Performance: Loops vs. Iterators
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
More About Cargo and Crates.io
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Customizing Builds with Release Profiles
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Publishing a Crate to Crates.io
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Cargo Workspaces
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Installing Binaries from Crates.io with cargo install
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Extending Cargo with Custom Commands
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Smart Pointers
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Using Box<T>
to Point to Data on the Heap
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Treating Smart Pointers Like Regular References with the Deref
Trait
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Running Code on Cleanup with the Drop
Trait
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Rc<T>
, the Reference Counted Smart Pointer
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
RefCell<T>
and the Interior Mutability Pattern
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Reference Cycles Can Leak Memory
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Fearless Concurrency
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Using Threads to Run Code Simultaneously
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Using Message Passing to Transfer Data Between Threads
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Shared-State Concurrency
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Extensible Concurrency with the Sync
and Send
Traits
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Object Oriented Programming Features of Rust
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Characteristics of Object-Oriented Languages
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Using Trait Objects that Allow for Values of Different Types
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Implementing an Object-Oriented Design Pattern
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Patterns and Matching
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
All the Places Patterns Can Be Used
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Refutability: Whether a Pattern Might Fail to Match
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Pattern Syntax
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Advanced Features
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Unsafe Rust
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Advanced Lifetimes
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Advanced Traits
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Advanced Types
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Advanced Functions and Closures
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Macros
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Final Project: Building a Multithreaded Web Server
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Building a Single-Threaded Web Server
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Turning Our Single-Threaded Server into a Multithreaded Server
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Graceful Shutdown and Cleanup
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix A: Keywords
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix B: Operators and Symbols
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix C: Derivable Traits
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix D - Useful Development Tools
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix E - Editions
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix F: Translations of the Book
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.
Appendix G - How Rust is Made and “Nightly Rust”
The 2018 edition of the book is no longer distributed with Rust's documentation.
If you came here via a link or web search, you may want to check out the current version of the book instead.
If you have an internet connection, you can find a copy distributed with Rust 1.30.