TGViewer
Rust Rust @rust_code · 8.91K subscribers
Post #1420 2.46K
🦀 Rust Pinning без магии: `Pin`, `Unpin` и `Future::poll`

Одна из самых сложных тем в Rust - зачем вообще нужен Pin и почему некоторые значения нельзя просто перемещать в памяти.

Хороший разбор строит механизм буквально с нуля и связывает его с тем, что реально встречается в async Rust:

- как работает Pin
- что означает Unpin
- почему self-referential структуры опасны
- при чём здесь Future
- почему Future::poll принимает Pin<&mut Self>

Главная идея: некоторые значения после начала использования должны оставаться по одному адресу в памяти, иначе внутренние ссылки могут стать невалидными.

Особенно полезно тем, кто пользуется async/await, но до конца не понимает, что происходит под капотом.

https://gmcgoldr.github.io/2026/08/27/pin-in-rust.html
  • ❤ 14
  • 👍 7
  • 🥰 1
More from @rust_code
  1. Sep 20, 2026Zero cost
  2. Sep 19, 2026🦀 NVIDIA официально идёт в native GPU programming на Rust Теперь CUDA Rust позволяет писа…
  3. Sep 18, 2026yagni
  4. Sep 17, 2026Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250…
  5. Sep 17, 2026photo post
  6. Sep 17, 2026🔥 Большой гайд по миграции с Go на Rust Для разработчиков переход обычно упирается не в с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →