Rust 1.6 is scheduled to be released two weeks from now, on January 21. Sadly, there are an alarming number of regressions still. Below is the ‘state of the regressions’ for the 1.6 release. We need any help we can get tackling them: some require bisecting to figure out what is going on, some require simple patches to revert. If you want to take one, just speak up on the issue tracker, but note that these need to be completed soon and backported to the beta branch (January 18th is probably the deadline). A number of them are assigned to me, but I will happily relinquish them. Just let me know.
First, this one is a stable regression from 1.4 -> 1.5. Nobody is sure what happened here, but it would be great if we could fix it in 1.6:
- AsPath resolution - https://github.com/rust-lang/rust/issues/30744
- @arielb1 figured it out. Permissible break.
Next the regressions introduced in 1.6 beta:
- rustdoc - https://github.com/rust-lang/rust/issues/30477
- This is fixed on nightly. If we can we should identify the patch and backport to beta.
- rustdoc - https://github.com/rust-lang/rust/issues/30213
- Box<&str> -> Box - https://github.com/rust-lang/rust/issues/30634
- xcrate typaram defaults - https://github.com/rust-lang/rust/issues/30123
- This change appears to be more correct but nobody knows for sure what caused it. Need to identify it for the release notes.
- macro_rules! ICE - https://github.com/rust-lang/rust/issues/30669
- What was an error is now an ICE. Probably just need to convert the appropriate span_bug back to span_fatal and create a test case.
- Edit: Fixed on nightly. Thanks @GuillaumeGomez
- Edit: Needs backport to beta.
- ICE : ty_is_local invoked on unexpected type - https://github.com/rust-lang/rust/issues/29857
- Niko has a patch in the pipeline. Just need to follow up and ensure it lands and is backported.
- matching unit-like structs as enums - https://github.com/rust-lang/rust/issues/30379
- Felix has promised a patch. Just need to follow up and ensure it lands and is backporte.d
- raw_pointer_derive removed - https://github.com/rust-lang/rust/issues/30346
- Removing this lint caused build failures downstream. We’re going to try adding it back as a ‘removed’ lint that generates warnings instead.
Finally, some 1.7 matters that need attention:
- type ascription breaks macros - https://github.com/rust-lang/rust/issues/30531
- We probably want to disable type ascription parsing until we figure out what to do.
- improve future-incompatible lints - https://github.com/rust-lang/rust/issues/30746
- Not a regression, but an improvement to language evolution. There are now lints for ‘future-incompatible’ changes. For example the new public-private changes for RFC 136. These need to be more descriptive though, indicating why we are breaking code.