Oh wow, I've been using Rust for a couple years and never knew that!
I typically put all my application's functionality and documentation in a library, making the binary 50-100 lines of code for setting things up, parsing CLI arguments, then feeding it to the library code. From what I've seen this design is fairly common in the community, so that probably explains why such a glaring bug was never noticed/fixed.