Skip to content

Typed paths

Gustav Sörnäs requested to merge directory-types into master

This adds a bunch of types for directories and files we expect in certain places. The idea is to be a bit more sure that we're passing the correct variant of a Path/PathBuf without having to rely on the parameter name (e.g. root_dir vs libs_dir). I've mostly felt the need for this when working with the dependency handling since we're juggling a bunch of directories and pretending that libraries are root directories and stuff.

There's a bit of ergonomics that I'm not 100% happy with. Right now there's a few dirs::libs_dir(dirs::build_dir(root_dir)), and I would like to do dirs::libs_dir(root_dir) - but I'm not sure how to implement it. It smells a bit like trait magic.

Closes #26, in a way.

Merge request reports