On Sunday, 12 June 2016 at 22:59:15 UTC, Jason White wrote:
- "system1: Dependency on system information" (Because tasks with no dependencies are only run once. This could be changed easily enough, but I don't see the point.)
Switching the compiler version seems to be a valid use case. You might have other means to detect this, though.
- "secondary: Secondary target" (I think this is incorrect behavior and not a feature.) - "intermediate: Intermediate target" (Same reason as "secondary". If this is really needed, it should be encapsulated inside a single task.)
A possible use case is creating object files first and packing them into a library as a second step. Then single object files are of not much interest anymore. Imagine, you want to distribute a build to several development machines such that their local build environments are convinced that the build is up to date. If object files can be treated as secondary or intermediate targets you can save lots of unnecessary network traffic and storage.
I should probably make a pull request to add it to the shootout.
It might help advertising. :-)