Rust 1.98 miscompilation: null vtable slot crashes boxed async services

Rust 1.98 got a P-critical miscompilation

A critical miscompilation in Rust 1.98 causes a null vtable entry for boxed async services, leading to segfaults at address zero. The issue, reported in rust-lang/rust#161441, affects aarch64-apple-darwin and consistently breaks CI for the rama project. Safe Rust dispatches through the zeroed method slot, crashing the process. The bug is reproducible with a minimal example, and a workaround involves avoiding the async trait erasure pattern. The issue may be related to previous vtable bugs and is under investigation.

Rust 1.98 silently emits a vacant method slot and the resulting binary crashes, rather than rustc producing an ICE.

More from this day

2026-08-23