This seems to use the exact same reasoning.. maybe the 1.80 time breakage was just a mistake?
On the other hand, @dtolnay, who objected to impl AsRef for Cow<'_, str>
on the grounds of type inference breakage, announced that the libs team explictly decided to break time
's type inference, which is inconsistent. But if this was deliberate and deemed a good outcome, perhaps that AsRef
impl should be reconsidered, after all?
Also: could cargo fix
fix such cases of type inference breakage?
Another solution: what if a crate could inform it was compiled with a given Rust version, and type inference used only the impls available on that version? (So that a crate that specified it builds with Rust 1.79 would not have impls defined in Rust 1.80 or later participate in inference, and thus would not be subject to this kind of breakage)