Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page
Second Edition
Copyright
Rust Essentials
Second Edition
Credits About the Author About the Reviewer www.PacktPub.com
Why subscribe?
Customer Feedback Preface
What this book covers What you need for this book Who this book is for Conventions Customer support
Downloading the example code Errata Piracy Questions
Starting with Rust
The advantages of Rust
The trifecta of Rust - safe, fast, and concurrent Comparison with other languages
The stability of Rust and its evolution The success of Rust
Where to use Rust
Servo Installing Rust rustc--the Rust compiler Our first program
Working with Cargo
Developer tools
Using Sublime Text
The Standard Library Summary
Using Variables and Types
Comments Global constants
Printing with string interpolation
Values and primitive types
Consulting Rust documentation
Binding variables to values
Mutable and immutable variables
Scope of a variable and shadowing Type checking and conversions
Aliasing
Expressions The stack and the heap Summary
Using Functions and Control Structures
Branching on a condition Looping Functions
Documenting a function
Attributes
Conditional compilation
Testing
Testing with cargo
The tests module
Summary
Structuring Data and Matching Patterns
Strings Arrays, vectors, and slices
Vectors Slices Strings and arrays
Tuples Structs Enums
Result and Option
Getting input from the console Matching patterns Program arguments Summary
Higher Order Functions and Error-Handling
Higher order functions and closures Iterators Consumers and adapters Generic data structures and functions Error-handling
Panics Testing for failure Some more examples of error-handling The try! macro and the ? operator
Summary
Using Traits and OOP in Rust
Associated functions on structs Methods on structs Using a constructor pattern Using a builder pattern Methods on tuples and enums Traits Using trait constraints Static and dynamic dispatch Built-in traits and operator overloading OOP in Rust Inheritance with traits Using the visitor pattern Summary
Ensuring Memory Safety and Pointers
Pointers and references
Stack and heap Lifetimes Copying and moving values - The copy trait
Let's summarize
Pointers References
Match, struct, and ref
Ownership and borrowing
Ownership Moving a value Borrowing a value Implementing the Drop trait Moving closure
Boxes Reference counting Overview of pointers Summary
Organizing Code and Macros
Modules and crates
Building crates Defining a module Visibility of items Importing modules and file hierarchy Importing external crates Exporting a public interface Adding external crates to a project Working with random numbers
Macros
Why macros? Developing macros
Repetition Creating a new function Some other examples
Using macros from crates Some other built-in macros
Summary
Concurrency - Coding for Multicore Execution
Concurrency and threads
Creating threads
Setting the thread's stack size
Starting a number of threads Panicking threads Thread safety
Shared mutable states
The Sync trait
Communication through channels
Sending and receiving data
Making a channel Sending struct values over a channel Sending references over a channel Synchronous and asynchronous
Summary
Programming at the Boundaries
When is code unsafe
Using std::mem
Raw pointers Interfacing with C
Using a C library
Inlining assembly code Calling Rust from other languages Summary
Exploring the Standard Library
Exploring std and the prelude module Collections - using hashmaps and hashsets Working with files
Paths Reading a file Error-handling with try! Buffered reading Writing a file Error-handling with try! Filesystem operations
Using Rust without the Standard Library Summary
The Ecosystem of Crates
The ecosystem of crates Working with dates and times File formats and databases Web development Graphics and games OS and embedded system development Other resources for learning Rust Summary
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion