Rust package file structure

cargo relies on the file structure to determine what to build. This can get a bit complicated because there can be multiple binary crates, one library crate, and various integration tests (unit tests are in the tested files themselves), benchmarks and examples for the library crate. So here’s a cheatsheet.

Every name that contains “some” or “another” is a placeholder, all other names must be used verbatim.