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
Advanced Features
Unsafe Rust
Unsafe Superpowers
Raw Pointer Dereferencing
Unsafe Function Calls
Mutable Static Access
Unsafe Trait Implementation
Raw Pointers
*const T and *mut T
Creating Raw Pointers
Pointer Arithmetic
Unsafe Functions and Methods
unsafe fn Syntax
Calling Unsafe Code
Safe Abstractions
Safety Invariants
When to Use Unsafe
Advanced Traits
Associated Types
Associated Type Syntax
Associated vs Generic Types
Default Generic Type Parameters
Operator Overloading
Operator Traits
Custom Operator Implementation
Fully Qualified Syntax
Disambiguation
Explicit Method Calls
Supertraits
Trait Dependencies
Trait Bounds on Traits
Newtype Pattern
Type Safety
Trait Implementation
Advanced Types
Type Aliases
Type Alias Syntax
Generic Type Aliases
Never Type
! Type
Diverging Functions
Never Type Coercion
Dynamically Sized Types
DST Characteristics
Sized Trait
?Sized Bound
Function Item Types
Closure Types
Advanced Functions and Closures
Function Pointers
fn Type
Function Pointer vs Closures
Returning Closures
Box<dyn Fn()> Pattern
impl Fn() Pattern
Higher-Order Functions
Function Traits Hierarchy
Macros
Declarative Macros
macro_rules! Syntax
Pattern Matching
Repetition Patterns
Macro Hygiene
Procedural Macros
Derive Macros
Attribute Macros
Function-like Macros
TokenStream Processing
Macro Development
Debugging Macros
Macro Testing
Macro Documentation
Previous
13. Fearless Concurrency
Go to top
Next
15. Foreign Function Interface