Blog
forbid(unsafe_code) is absolute, which is a problem when a dependency emits a link_section the lint counts as unsafe. Where the line ends up.
Why every shipping crate uses forbid(unsafe_code) rather than deny, which any module inside it can quietly override from the inside.
Hot-reloading configuration: watch the file, re-read it, swap it in atomically and notify observers, without restarting a long-running service.
A checksum hosted beside your download stops accidents, not a compromised platform. Why the signing key has to live somewhere you control.
A vulnerability scanner is a one-day yes or no. Running cargo-deny as a standing policy gate instead, with waivers that expire on a date.
Go functional options enforce required fields at runtime, if at all. A Rust typestate builder refuses to compile when you forget one.
A flaky self-update test: separate processes still shared a computed cache path and raced on disk. Process isolation is not filesystem isolation.
Rust has no init or pre-main phase, so self-registering commands need another mechanism. Using a distributed slice to get the same shape.
Self-update integrity for a CLI: verify the downloaded binary against the release checksums file, and decide whether to fail open or closed.
A Rust gotcha: non_exhaustive promises an enum can grow, but returning a fixed-size array bakes today count into the type. Both cannot be true.