HackerTubewatch
Surprise me
Frame from The Why, What, and How of Pinning in Rust Plays via YouTube's privacy-enhanced embed

The Why, What, and How of Pinning in Rust

7 videos recommended on HN
YouTube
3 HN users recommended this tutorial3 months2021–2026 score 3.5
Years with an HN recommendation, 2007–2026

HN treats it as the definitive resource for understanding Pin semantics and lists it among async Rust learning materials.

Jon Gjengset's long live-coding stream explains Rust's Pin and Unpin types: why they exist, how they work, and how they connect to futures and async/await. It also covers moving from pre-pinning code to the new model.

“Jon Gjengset's stream on pin/unpin is invaluable for understanding Pin semantics” (HN, 2023)

1 strong recommendations · 2 recommendations · Tutorials · advanced

3 Hacker News comments

From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.

@theossuary Mar 2023 Strongly recommends
on HN thread Effing-mad, an effect library for Rust
Jon Gjengset's stream on pin/unpin is invaluable for understanding Pin semantics: [this video] But the 10000 ft view is: Pin lets you tell Rust to never ever move a piece of memory. This is almost always done because the piece of memory has pointers into itself (it's self referencial) which would be come invalid if moved.
Pin/Unpin semantics explained in depth.
@DasIch May 2021 Recommends
on HN thread Things you can’t do in Rust (and what to do instead)
Read more
Let's assume for a moment self-referential references were allowed. Let's further say we have such a struct containing self-referential references and we move it. Moving actually moves things in memory, including the thing those references reference. This means the references now point at the old and now incorrect location. Accessing them would trigger undefined behavior. Self-referencing is only acceptable, if the struct is guaranteed not to move. Rust does provide a mechanism to provide such a guarantee with std::pin but outside of async code, you probably don't want to be using it. std::pin: [link] If you're curious about pinning and have a few hours to spare, [this video] is a great video that explains it in detail.
Detailed explanation of Pin in Rust.
@lame_lexem May 2026 Recommends
on HN thread Async Rust never left the MVP state
there is a chapter on async in comprehensive rust and rustbook which ought to bring you up to speed there is the async book but it is largely unfinished you can watch John Gjengset's crust of rust async, decrusting tokio, and why what, and how of pinning in rust then there are tokio-lessons and tokio tutorial which teach how to use tokio runtime and there are also good blogposts by phil-oop and rose wright on how async works [link] [link] [link] [link] [link] [this video] [link] [link] [link] [link]
Part of a list of async Rust learning resources.

Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.

Keyboard shortcuts

/
Search
j k
Next / previous video
r
Surprise me
l
Like (video page)
w
Watch later (video page)
?
This help
Esc
Close