I want to see if I have understood the 1.80 issue that caused the time crate breakage, both the technical cause of it, but also the project management part. Actually, I'm more interested in the latter -- if I've understood it correctly, this can happen again.
The technical issue: The problem was that a type inference was unambiguous prior to 1.80, but after that std implemented something that created an ambiguity. In practical terms: One could use _ in certain places before 1.80, but after that the compiler wouldn't know which type/implementation to put in its place.
The project management issue: If the Rust project would guarantee that these things would never happen again, it would mean one of two things:
- they would never be allowed to add new implementations to std that are currently unambiguous.
- unambiguous type inference would need to be removed from the compiler.
.. and neither of these are acceptable/feasible, which is why it was allowed, and will be allowed in the future.
Is this the basic gist of it?