Using nix run to run a rust program fails, but entering the devShell and using cargo run works. What's going on?

Why all the crane and fenix antics just to use stable rust at the end of the day? Much ado has been made about fenix’s inadequacy here.

You can use rustPlatform.buildRustPackage to build, and it should work.