1. 1. Język Programowania Rust
  2. 2. Przedmowa
  3. 3. Wstęp
  4. 4. Na początek
    1. 4.1. Instalacja
    2. 4.2. Witaj, Świecie!
    3. 4.3. Witaj, Cargo!
  5. 5. Piszemy grę zgadywankę
  6. 6. Powszechne koncepcje programistyczne
    1. 6.1. Zmienne i ich modyfikowalność
    2. 6.2. Typy danych
    3. 6.3. Funkcje
    4. 6.4. Komentarze
    5. 6.5. Przepływ sterowania
  7. 7. Zrozumienie systemu własności
    1. 7.1. Czym jest własność?
    2. 7.2. Referencje i pożyczanie
    3. 7.3. Wycinki
  8. 8. Używanie struktur do przechowywania powiązanych danych
    1. 8.1. Definiowanie i tworzenie instancji struktur
    2. 8.2. Przykładowy program wykorzystujący struktury
    3. 8.3. Składnia metod
  9. 9. Wyliczenia i dopasowywanie wzorców
    1. 9.1. Definiowanie wyliczeń
    2. 9.2. The match Control Flow Construct
    3. 9.3. Concise Control Flow with if let
  10. 10. Packages, Crates, and Modules
    1. 10.1. Packages and crates for making libraries and executables
    2. 10.2. Modules and use to control scope and privacy
    3. 10.3. 07-03
    4. 10.4. 07-04
    5. 10.5. 07-05
  11. 11. Common Collections
    1. 11.1. Vectors
    2. 11.2. Strings
    3. 11.3. Hash Maps
  12. 12. Error Handling
    1. 12.1. Unrecoverable Errors with panic!
    2. 12.2. Recoverable Errors with Result
    3. 12.3. To panic! or Not to panic!
  13. 13. Generic Types, Traits, and Lifetimes
    1. 13.1. Generic Data Types
    2. 13.2. Traits: Defining Shared Behavior
    3. 13.3. Validating References with Lifetimes
  14. 14. Testing
    1. 14.1. Writing tests
    2. 14.2. Running tests
    3. 14.3. Test Organization
  15. 15. An I/O Project: Building a Command Line Program
    1. 15.1. Accepting Command Line Arguments
    2. 15.2. Reading a File
    3. 15.3. Refactoring to Improve Modularity and Error Handling
    4. 15.4. Developing the Library’s Functionality with Test Driven Development
    5. 15.5. Working with Environment Variables
    6. 15.6. Writing Error Messages to Standard Error Instead of Standard Output
  16. 16. Functional Language Features: Iterators and Closures
    1. 16.1. Closures: Anonymous Functions that Capture Their Environment
    2. 16.2. Processing a Series of Items with Iterators
    3. 16.3. Improving Our I/O Project
    4. 16.4. Comparing Performance: Loops vs. Iterators
  17. 17. More about Cargo and Crates.io
    1. 17.1. Customizing Builds with Release Profiles
    2. 17.2. Publishing a Crate to Crates.io
    3. 17.3. Cargo Workspaces
    4. 17.4. Installing Binaries from Crates.io with cargo install
    5. 17.5. Extending Cargo with Custom Commands
  18. 18. Smart Pointers
    1. 18.1. Box<T> Points to Data on the Heap and Has a Known Size
    2. 18.2. The Deref Trait Allows Access to the Data Through a Reference
    3. 18.3. The Drop Trait Runs Code on Cleanup
    4. 18.4. Rc<T>, the Reference Counted Smart Pointer
    5. 18.5. RefCell<T> and the Interior Mutability Pattern
    6. 18.6. Creating Reference Cycles and Leaking Memory is Safe
  19. 19. Fearless Concurrency
    1. 19.1. Threads
    2. 19.2. Message Passing
    3. 19.3. Shared State
    4. 19.4. Extensible Concurrency: Sync and Send
  20. 20. Object Oriented Programming Features of Rust
    1. 20.1. Characteristics of Object-Oriented Languages
    2. 20.2. Using Trait Objects that Allow for Values of Different Types
    3. 20.3. Implementing an Object-Oriented Design Pattern
  21. 21. Patterns Match the Structure of Values
    1. 21.1. All the Places Patterns May be Used
    2. 21.2. Refutability: Whether a Pattern Might Fail to Match
    3. 21.3. All the Pattern Syntax
  22. 22. Advanced Features
    1. 22.1. Unsafe Rust
    2. 22.2. Advanced Lifetimes
    3. 22.3. Advanced Traits
    4. 22.4. Advanced Types
    5. 22.5. Advanced Functions & Closures
    6. 22.6. Macros
  23. 23. Final Project: Building a Multithreaded Web Server
    1. 23.1. A Single Threaded Web Server
    2. 23.2. Turning our Single Threaded Server into a Multithreaded Server
    3. 23.3. Graceful Shutdown and Cleanup
  24. 24. Dodatki
    1. 24.1. A - Keywords
    2. 24.2. B - Operators and Symbols
    3. 24.3. C - Derivable Traits
    4. 24.4. D - Useful Development Tools
    5. 24.5. E - Editions
    6. 24.6. F - Tłumaczenia
    7. 24.7. G - How Rust is Made and “Nightly Rust”

Język Programowania Rust

Advanced Lifetimes