📰 IT Дайджест

← К выпуску 15.05.2026

Bun на Rust ловят на UB: Safe Rust, который падает на miri

github.com · #tool #bun #github #miri #rust #ub

В issue репозитория Oven SH обсуждают Rust-переписку Bun и то, что код не проходит базовые проверки miri. Автор треда показывает, что даже в «безопасном» Rust там есть возможность для undefined behavior — то есть история про скорость уже с привкусом «а кто это вообще ревьюил?».

Открыть оригинал →

error: Undefined Behavior: создание недопустимого значения типа &[u8]: обнаружена висячая ссылка (0x20933[noalloc] не имеет provenance)
--> src/main.rs:97:18
|
97 | unsafe { core::slice::from_raw_parts(ptr as *const u8, self.len()) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Undefined Behavior произошло здесь
|
= help: это указывает на баг в программе: она выполнила недопустимую операцию и вызвала Undefined Behavior
= help: см. https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html для дополнительной информации
= note: stack backtrace:
0: PathString::slice
at src/main.rs:97:18: 97:75
1: main
at src/main.rs:130:22: 130:34

code:

fn main() {
    let test = Box::new(*b"Hello World");
    let init = PathString::init(&*test);
    drop(test);

    println!("{:?}", init.slice());
}

Пожалуйста, подумайте о том, чтобы не заниматься vibe coding на Rust, потому что ИИ не очень хорошо пишут на Rust, и, пожалуйста, наймите настоящего Rust-разработчика