Async Rust with Tokio Series Part 1: How Async Rust Works – Futures, Poll, and the Runtime Gap

Most async Rust tutorials start with Tokio and skip what async actually is. This post goes back to first principles – the Future trait, the poll model, why Rust ships no runtime, and what a runtime is actually doing when it runs your code.

Read More

Async Rust with Tokio Part 1: How Async Rust Works – Futures, Poll, and the Runtime Model

Before you can use Tokio effectively, you need to understand what async Rust actually is under the hood. This post covers the Future trait, the poll model, why Rust has no built-in runtime, and how laziness gives you control that most async runtimes do not.

Read More

Advanced Rust Series Part 10: Advanced Lifetime Tricks – Variance, PhantomData, and Zero-Cost Abstractions

The final part of the series goes deep into the type system: variance, PhantomData, the drop checker, and the techniques library authors use to write APIs that are both safe and zero-cost. The type-state pattern, newtype pattern, and phantom ownership explained with production-grade examples.

Read More

Advanced Rust Series Part 9: Lifetime Patterns in Production Code – Common Mistakes and How to Fix Them

Theory is one thing. Production code is another. This post covers the ownership and lifetime patterns that appear in real Rust codebases, the mistakes developers make repeatedly, and the diagnosis process that resolves borrow checker conflicts that have no obvious fix.

Read More

Advanced Rust Series Part 8: The Self-Referential Struct Problem – Pin, Unpin, and Async State Machines

Pin and Unpin are two of the most conceptually difficult parts of Rust. They exist to support self-referential structs and async state machines – understanding them demystifies how async Rust works under the hood and when you actually need to think about them.

Read More

Advanced Rust Series Part 6: Lifetimes in Trait Definitions and Bounds

Traits and lifetimes interact in ways that go well beyond what you see in basic Rust. This post covers lifetime bounds on traits, trait objects with lifetimes, and higher-ranked trait bounds – the features that power flexible and safe library APIs.

Read More

Advanced Rust Series Part 5: Lifetimes in Structs and Enums – Holding References Safely

Holding references inside structs and enums is where lifetime annotations become unavoidable. This post covers how to annotate data structures that borrow from external data, what the constraints mean in practice, and the design patterns that keep your code clean.

Read More

Advanced Rust Series Part 4: Lifetime Elision – What the Compiler Infers and When You Must Be Explicit

Most Rust code compiles without a single lifetime annotation. That is not luck – it is lifetime elision, a set of deterministic rules the compiler applies automatically. Understanding those rules tells you exactly when you need to write annotations and why some errors catch you off guard.

Read More

Advanced Rust Series Part 3: Lifetimes Demystified – Why They Exist and How to Read Them

Lifetimes are the part of Rust that scares developers the most. But they are not magic – they are just a way to tell the compiler how long references are valid. Once you understand what the compiler is actually asking, lifetime annotations start to make sense.

Read More

Advanced Rust Series Part 2: Borrowing Rules in Depth – The Borrow Checker Mental Model

The borrow checker is not a random obstacle – it has a clear set of rules and a consistent mental model. Once you internalize how it reasons about your code, you stop fighting it and start working with it. This post breaks down those rules at a level that changes how you write Rust.

Read More

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site