Targets:
- 1.40 release has NLL by default (released December 19th)
- this is next release cycle, so landing in nightly ~September 26th
There are currently 1622 known crates which are broken by NLL.
- detailed report: https://gist.github.com/Mark-Simulacrum/001b622ba1ca080a4f8e8e02608a1586
- Around 100 are root regressions.
Current plan:
- Targeted fixes to most used root regressions
- most roots are "old" (e.g., rustype 0.2.x branch, nalgebra 0.16.x branch)
- URL and rusttype are other primary roots, both have patched versions in same major series
- nalgebra, rusttype fixes are rolled out so next phase is
cargo update
PRs for GH repos
- Publish a blog post
- Announces timeline
- Reiterates fixes for common problems
- Asks users to run
cargo update
in repositories depending on rusttype, url, nalgebra to move to non-broken releases
- Targeted push for the above
- Open issues or PRs on repositories with fixes [cargo update can be automated]
Options for consideration:
- Hard error on 2018 first
- if 1.40 is target, then this buys us only a single cycle (unless we backport to beta)
- hard error gradually on some errors
- unknown impact, may not be worth it
- exempt specific crates (by name?) temporarily