TGViewer
Rust Rust @rust_code · 8.91K subscribers
Post #1271 4.07K
👣 Хороший тест на понимание unsafe Rust

Вопрос простой: если запустить пример в Miri со Stacked Borrows, будет ли там UB?

Но важна не только галочка «да» или «нет».

Если UB есть, нужно объяснить:

- какая именно операция ломает правила;
- почему этот указатель больше нельзя использовать;
- где была нарушена модель заимствований;
- какой доступ инвалидировал предыдущий alias;
- почему компилятор может считать такой код невозможным.

Вот в этом и суть unsafe Rust.

`unsafe` не значит «делай что хочешь». Это значит: компилятор больше не проверяет часть правил за тебя, но правила всё ещё существуют.

Miri полезен именно потому, что заставляет смотреть не на ощущение «ну вроде работает», а на формальную модель памяти.

Код может стабильно проходить локально, не падать в тестах и всё равно быть UB.

А потом оптимизатор сделает вид, что такого состояния программы вообще не могло существовать.
  • 👍 10
  • 🥰 3
  • ❤ 2
  • 🔥 2
  • 🖕 1
  • 🤗 1
More from @rust_code
  1. Sep 23, 2026photo post
  2. Sep 20, 2026Zero cost
  3. Sep 19, 2026🦀 NVIDIA официально идёт в native GPU programming на Rust Теперь CUDA Rust позволяет писа…
  4. Sep 18, 2026yagni
  5. Sep 17, 2026🦀 Rust Pinning без магии: `Pin`, `Unpin` и `Future::poll` Одна из самых сложных тем в Rus…
  6. Sep 17, 2026Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250…
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 →