On Saturday, 22 September 2018 at 20:34:50 UTC, 0xEAB wrote:
On Saturday, 22 September 2018 at 19:41:16 UTC, JN wrote:
Some code will break, sure, but it's a mechanical change that
should be possible to apply by some tool.
Who will run this tool? Who's gonna merge the PRs created with
this tool?
Compatibility fixes would have been easy in the past in many
cases - nevertheless, it needs someone to apply them. Which
often did not happen in the past, unfortunately.
The demon on my shoulder is telling me to add it to dub.
Record the last used compiler in dub.selections.json. Add every
incompatibility to dfix. If your project was last built with,
say, 2.079.0, then dub will detect the current compiler and run
dfix with the necessary upgrades when building the project. And
it runs `git reset --hard` before doing any of these checks, or
applies them in your project's .dub directory.
This is pretty cruddy, but it protects you somewhat from
unmaintained projects.
Though honestly, having a stable compiler version and
recommending that people stick with it for multiple years would
also help a lot.