Multi-file examples

Minimum Rust version: 1.22

Cargo has an examples feature for showing people how to use your package. By putting individual files inside of the top-level examples directory, you can create multiple examples.

But what if your example is too big for a single file? Cargo supports adding sub-directories inside of examples, and looks for a main.rs inside of them to build the example. It looks like this:

my-package └──src └── lib.rs // code here └──examples └── simple-example.rs // a single-file example └── complex-example └── helper.rs └── main.rs // a more complex example that also uses `helper` as a submodule