Useful Links
Computer Science
Programming
By Language
Rust Programming
1. Getting Started with Rust
2. Rust Fundamentals
3. Understanding Ownership
4. Structuring Data with Structs
5. Enums and Pattern Matching
6. Managing Growing Projects
7. Common Collections
8. Error Handling
9. Generic Types, Traits, and Lifetimes
10. Writing Automated Tests
11. Functional Programming Features
12. Smart Pointers
13. Fearless Concurrency
14. Advanced Features
15. Foreign Function Interface
16. Rust Patterns and Best Practices
Understanding Ownership
Memory Management Concepts
Stack vs Heap Memory
Stack Allocation Characteristics
Heap Allocation Characteristics
Performance Implications
Automatic Memory Management
Manual Memory Management Problems
Rust's Ownership Solution
Ownership Rules and Principles
Single Owner Rule
Scope-Based Deallocation
Move Semantics
Value Moves
Invalidation After Move
Move vs Copy Types
Copy Semantics
Copy Trait
Implicit Copying
Stack-Only Data
Clone Semantics
Clone Trait
Explicit Cloning
Deep vs Shallow Copying
References and Borrowing
Immutable References
Creating Immutable References
Multiple Immutable References
Reference Scope Rules
Mutable References
Creating Mutable References
Exclusive Mutable Access
Borrowing Rules Enforcement
Reference Lifetime Basics
Dangling Reference Prevention
Reference vs Owned Values
Slices
String Slices
&str Type
String Literal Types
Slicing Strings
Array Slices
&[T] Type
Slicing Arrays
Slice Indexing
Slice Syntax and Ranges
Borrowing vs Owning Slices
Previous
2. Rust Fundamentals
Go to top
Next
4. Structuring Data with Structs