UsefulLinks
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
12.
Smart Pointers
12.1.
Box<T> Heap Allocation
12.1.1.
Heap vs Stack Allocation
12.1.2.
Box Creation and Usage
12.1.3.
Recursive Data Structures
12.1.4.
Box Deref Behavior
12.2.
Deref Trait
12.2.1.
Deref Coercion
12.2.2.
DerefMut Trait
12.2.3.
Custom Smart Pointer Implementation
12.2.4.
Deref vs AsRef
12.3.
Drop Trait
12.3.1.
Automatic Cleanup
12.3.2.
Custom Drop Implementation
12.3.3.
Drop Order
12.3.4.
mem::drop Function
12.3.5.
RAII Pattern
12.4.
Rc<T> Reference Counting
12.4.1.
Shared Ownership
12.4.2.
Reference Count Management
12.4.3.
Rc::clone vs Clone
12.4.4.
Weak References
12.4.4.1.
Weak<T> Type
12.4.4.2.
Breaking Reference Cycles
12.4.4.3.
Upgrading Weak References
12.5.
RefCell<T> Interior Mutability
12.5.1.
Runtime Borrow Checking
12.5.2.
borrow and borrow_mut Methods
12.5.3.
BorrowError and BorrowMutError
12.5.4.
Interior Mutability Pattern
12.5.5.
Combining Rc and RefCell
12.5.5.1.
Shared Mutable State
12.5.5.2.
Multiple Owners with Mutation
Previous
11. Functional Programming Features
Go to top
Next
13. Fearless Concurrency