DEV Community

Advanced Rust Series' Articles

Back to SomeB1oody's Series
[Advanced Rust] 1.1. Pointer Overview (Part 1) - What Is a Pointer, and the Difference Between Pointers and References
Cover image for [Advanced Rust] 1.1. Pointer Overview (Part 1) - What Is a Pointer, and the Difference Between Pointers and References

[Advanced Rust] 1.1. Pointer Overview (Part 1) - What Is a Pointer, and the Difference Between Pointers and References

Comments
5 min read
[Advanced Rust] 1.2. Pointer Overview (Part 2) - Raw Pointers and the Different Kinds of Pointers in Rust
Cover image for [Advanced Rust] 1.2. Pointer Overview (Part 2) - Raw Pointers and the Different Kinds of Pointers in Rust

[Advanced Rust] 1.2. Pointer Overview (Part 2) - Raw Pointers and the Different Kinds of Pointers in Rust

Comments
9 min read
[Advanced Rust] 1.3. Memory Part 1 - Definitions of Concepts and the High-Level and Low-Level Models of Variables
Cover image for [Advanced Rust] 1.3. Memory Part 1 - Definitions of Concepts and the High-Level and Low-Level Models of Variables

[Advanced Rust] 1.3. Memory Part 1 - Definitions of Concepts and the High-Level and Low-Level Models of Variables

Comments
3 min read
[Advanced Rust] 1.4. Memory Part 2 - Stack Memory, Stack Frames, and Stack Pointer
Cover image for [Advanced Rust] 1.4. Memory Part 2 - Stack Memory, Stack Frames, and Stack Pointer

[Advanced Rust] 1.4. Memory Part 2 - Stack Memory, Stack Frames, and Stack Pointer

1
Comments
4 min read
[Advanced Rust] 1.5. Memory Part 3 - A Deep Dive Into Rust Heap Memory Implementation
Cover image for [Advanced Rust] 1.5. Memory Part 3 - A Deep Dive Into Rust Heap Memory Implementation

[Advanced Rust] 1.5. Memory Part 3 - A Deep Dive Into Rust Heap Memory Implementation

1
Comments
4 min read
[Advanced Rust] 1.6. Memory Part 4 - Static Memory and the 'static Lifetime Annotation
Cover image for [Advanced Rust] 1.6. Memory Part 4 - Static Memory and the 'static Lifetime Annotation

[Advanced Rust] 1.6. Memory Part 4 - Static Memory and the 'static Lifetime Annotation

Comments
3 min read
[Advanced Rust] 1.7. Memory Part 5 - Heap vs. Stack Memory, Virtual Memory, and Guidelines for Displaying Data in RAM
Cover image for [Advanced Rust] 1.7. Memory Part 5 - Heap vs. Stack Memory, Virtual Memory, and Guidelines for Displaying Data in RAM

[Advanced Rust] 1.7. Memory Part 5 - Heap vs. Stack Memory, Virtual Memory, and Guidelines for Displaying Data in RAM

Comments
7 min read
[Advanced Rust] 1.8. Memory Pt.6 - Scanning Address Space Through the Operating System
Cover image for [Advanced Rust] 1.8. Memory Pt.6 - Scanning Address Space Through the Operating System

[Advanced Rust] 1.8. Memory Pt.6 - Scanning Address Space Through the Operating System

Comments
7 min read
[Advanced Rust] 1.9. Ownership (Quick Recap) - Core Ideas of Ownership, How to Implement Copy Trait, Value Drop, and Drop Order
Cover image for [Advanced Rust] 1.9. Ownership (Quick Recap) - Core Ideas of Ownership, How to Implement Copy Trait, Value Drop, and Drop Order

[Advanced Rust] 1.9. Ownership (Quick Recap) - Core Ideas of Ownership, How to Implement Copy Trait, Value Drop, and Drop Order

Comments
3 min read
[Advanced Rust] 1.10. References and Interior Mutability (Quick Recap) - References, Interior Mutability, Cell Type, and Relate…
Cover image for [Advanced Rust] 1.10. References and Interior Mutability (Quick Recap) - References, Interior Mutability, Cell Type, and Relate…

[Advanced Rust] 1.10. References and Interior Mutability (Quick Recap) - References, Interior Mutability, Cell Type, and Relate…

Comments
4 min read
[Advanced Rust] 1.11. Lifetimes (Advanced) Pt.1 - Review, Borrow Checker, Generic Lifetimes
Cover image for [Advanced Rust] 1.11. Lifetimes (Advanced) Pt.1 - Review, Borrow Checker, Generic Lifetimes

[Advanced Rust] 1.11. Lifetimes (Advanced) Pt.1 - Review, Borrow Checker, Generic Lifetimes

Comments
4 min read
[Advanced Rust] 1.12. Lifetimes (Advanced) Pt.2 - Lifetime Variance, Covariance, Invariance, Contravariance
Cover image for [Advanced Rust] 1.12. Lifetimes (Advanced) Pt.2 - Lifetime Variance, Covariance, Invariance, Contravariance

[Advanced Rust] 1.12. Lifetimes (Advanced) Pt.2 - Lifetime Variance, Covariance, Invariance, Contravariance

1
Comments
5 min read
[Advanced Rust] 1.13. Memory Types Pt.1 - Alignment, Layout, and the Repr Attribute
Cover image for [Advanced Rust] 1.13. Memory Types Pt.1 - Alignment, Layout, and the Repr Attribute

[Advanced Rust] 1.13. Memory Types Pt.1 - Alignment, Layout, and the Repr Attribute

Comments
6 min read
[Advanced Rust] 1.14. Memory Types Pt.2 - Dynamically Sized Types and Wide Pointers, Packed Layouts, Larger Alignment for Speci…
Cover image for [Advanced Rust] 1.14. Memory Types Pt.2 - Dynamically Sized Types and Wide Pointers, Packed Layouts, Larger Alignment for Speci…

[Advanced Rust] 1.14. Memory Types Pt.2 - Dynamically Sized Types and Wide Pointers, Packed Layouts, Larger Alignment for Speci…

Comments
4 min read
[Advanced Rust] 1.15. Trait Bounds - Compilation and Dispatch
Cover image for [Advanced Rust] 1.15. Trait Bounds - Compilation and Dispatch

[Advanced Rust] 1.15. Trait Bounds - Compilation and Dispatch

Comments
5 min read
[Advanced Rust] 1.16. Generic Traits - Generic (Type-Parameter) Traits and Associated-Type Traits
Cover image for [Advanced Rust] 1.16. Generic Traits - Generic (Type-Parameter) Traits and Associated-Type Traits

[Advanced Rust] 1.16. Generic Traits - Generic (Type-Parameter) Traits and Associated-Type Traits

Comments
3 min read
[Advanced Rust] 1.17. Orphan Rules, Coherence, and Consistency - Blanket and Covered Implementations
Cover image for [Advanced Rust] 1.17. Orphan Rules, Coherence, and Consistency - Blanket and Covered Implementations

[Advanced Rust] 1.17. Orphan Rules, Coherence, and Consistency - Blanket and Covered Implementations

Comments
3 min read
[Advanced Rust] 2.1. API Design Principles of Unsurprising - Naming Tips, Implementing Common Traits
Cover image for [Advanced Rust] 2.1. API Design Principles of Unsurprising - Naming Tips, Implementing Common Traits

[Advanced Rust] 2.1. API Design Principles of Unsurprising - Naming Tips, Implementing Common Traits

Comments
5 min read
[Advanced Rust] 2.2. API Design Principles of Unsurprising Pt.2 - Implementing Clone, Default, PartialEq, PartialOrd, Hash, Eq…
Cover image for [Advanced Rust] 2.2. API Design Principles of Unsurprising Pt.2 - Implementing Clone, Default, PartialEq, PartialOrd, Hash, Eq…

[Advanced Rust] 2.2. API Design Principles of Unsurprising Pt.2 - Implementing Clone, Default, PartialEq, PartialOrd, Hash, Eq…

Comments
4 min read
[Advanced Rust] 2.3. API Design Principles of Unsurprising Pt.3 - Implementing serde Serialize and Deserialize Traits, and Why…
Cover image for [Advanced Rust] 2.3. API Design Principles of Unsurprising Pt.3 - Implementing serde Serialize and Deserialize Traits, and Why…

[Advanced Rust] 2.3. API Design Principles of Unsurprising Pt.3 - Implementing serde Serialize and Deserialize Traits, and Why…

Comments
4 min read
[Advanced Rust] 2.4. API Design Principles of Unsurprising Pt.4 - Ergonomic Trait Implementations, Wrapper Types, and Borrow Tr…
Cover image for [Advanced Rust] 2.4. API Design Principles of Unsurprising Pt.4 - Ergonomic Trait Implementations, Wrapper Types, and Borrow Tr…

[Advanced Rust] 2.4. API Design Principles of Unsurprising Pt.4 - Ergonomic Trait Implementations, Wrapper Types, and Borrow Tr…

Comments
7 min read
[Advanced Rust] 2.5. API Design Principles of Flexibility Pt.1 - Contracts and More Flexible Interfaces with Generic Parameters
Cover image for [Advanced Rust] 2.5. API Design Principles of Flexibility Pt.1 - Contracts and More Flexible Interfaces with Generic Parameters

[Advanced Rust] 2.5. API Design Principles of Flexibility Pt.1 - Contracts and More Flexible Interfaces with Generic Parameters

Comments
7 min read
[Advanced Rust] 2.6. API Design Principles of Flexibility Pt.2 - Object Safety, API Design, and Generic Trait Methods
Cover image for [Advanced Rust] 2.6. API Design Principles of Flexibility Pt.2 - Object Safety, API Design, and Generic Trait Methods

[Advanced Rust] 2.6. API Design Principles of Flexibility Pt.2 - Object Safety, API Design, and Generic Trait Methods

Comments
7 min read
[Advanced Rust] 2.7. API Design Principles of Flexibility Pt.3 - Borrowed vs Owned, Cow Type, and Fallible and Blocking Destruc…
Cover image for [Advanced Rust] 2.7. API Design Principles of Flexibility Pt.3 - Borrowed vs Owned, Cow Type, and Fallible and Blocking Destruc…

[Advanced Rust] 2.7. API Design Principles of Flexibility Pt.3 - Borrowed vs Owned, Cow Type, and Fallible and Blocking Destruc…

Comments
7 min read
[Advanced Rust] 2.8. API Design Principles of Flexibility Pt.4 - Problems with Explicit Destructors and Three Solutions
Cover image for [Advanced Rust] 2.8. API Design Principles of Flexibility Pt.4 - Problems with Explicit Destructors and Three Solutions

[Advanced Rust] 2.8. API Design Principles of Flexibility Pt.4 - Problems with Explicit Destructors and Three Solutions

Comments
16 min read
[Advanced Rust] 2.9. API Design Principles of Obviousness - Documentation and Type System, Semantic Types, and Zero-Sized Types
Cover image for [Advanced Rust] 2.9. API Design Principles of Obviousness - Documentation and Type System, Semantic Types, and Zero-Sized Types

[Advanced Rust] 2.9. API Design Principles of Obviousness - Documentation and Type System, Semantic Types, and Zero-Sized Types

5
Comments
6 min read
[Advanced Rust] 2.10. API Design Principles of Constrained Pt.1 - Changing Types
Cover image for [Advanced Rust] 2.10. API Design Principles of Constrained Pt.1 - Changing Types

[Advanced Rust] 2.10. API Design Principles of Constrained Pt.1 - Changing Types

Comments
4 min read