A developer shares how they hardened a Rust-based Uxn CPU emulator (Raven) after returning to the codebase months later. The improvements include GitHub Actions CI across multiple platforms, snapshot testing for screen output, a compile-time panic-absence proof using linker tricks borrowed from the `no-panic` crate, and fuzz testing with `cargo-fuzz` to compare a safe Rust interpreter against a hand-written assembly backend. The fuzzer uncovered three opcode bugs: two assembly typos and a subtle Rust bug where `wrapping_shr`/`wrapping_shl` wrap the shift *amount* rather than producing zero on overflow, requiring `checked_shr`/`checked_shl` as a workaround until `unbounded_shl` stabilizes.
Sort: