Maybe I’m imagining things or overreacting to confirmation bias or cherry-picking my quotes/links here, but there seems to be a recent trend of not finding serious problems until after stabilization, and of features relevant to the new edition either causing those post-stabilization fires or still not having key parts of their design settled this close to the edition release.
-
April: never type stabilized, then un-stabilized after a blocking issue was discovered that would’ve made the feature unusable in practice
-
June:
impl Trait
onmain
with traits other thanTermination
accidentally stabilized, partially contributing to a patch release that un-stabilized it. Then, and only after that patch was out the door, a soundness bug is discovered in match ergonomics, leading to our first ever .2 patch release -
Two weeks ago: A plan for the edition release was published here. Not a bad thing, obviously, but note how many things happened after this apparent schedule commitment.
-
Last week: The module/paths discussion was reopened. Comments include “I’m sorry for re-raising the spectre of module system discussions
!” and “the idea of making any changes here makes me very nervous” and “It’s unlikely that [the proposal] is implementable in the 2018 edition time frame”
-
Future/Unpin designs for async/await not settled yet? This is the point I’m least sure about, but it feels like there’s a non-trivial amount of experimentation and design work left to do on Future, Unpin and related abstractions. The futures RFC isn’t even in P-FCP yet. futures-preview was only created two weeks ago. The Pin API tracking issue’s unresolved question “Should we provide stronger guarantees around leaking Unpin data?” appears to still be unresolved (or did I just miss the resolution?).
-
Two days ago: Another patch release due to a match ergonomics maybe-soundness bug
-
Also two days ago: Not one but two last-minute issues with proc macros reported. Comments on the proc macro stabilization issue include “If August 2 is absolutely critical, then we can fix some things in fast-track mode, but we’ll have to make minor breaking changes later (I’d prefer not to do that).”
-
Also also two days ago: Latest measurements indicate NLL is still not performant enough to stabilize, and not just in a few weird corner cases: “most benchmarks are at least 10% slower”
-
Also also also two days ago: A third match ergonomics soundness bug discovered on stable
So… I’m getting worried. Things seem to be slipping through the cracks, and other things seem to be in danger of being completed and/or reworked so close to the deadline that more things might slip through more cracks. It feels like we might’ve bitten off more than we can chew. Clearly the core team has noticed this, but I’m not sure that “we need more eyes on nightly” is the entirety of the problem here, or that mitigating just that subproblem would be enough to ensure the new edition is rock solid.
…thoughts?