After some discussion about https://github.com/rust-lang/rust/pull/28125 the libs subteam decided that iterator adaptors should always preserve the same semantics in terms of the convenience methods and such. This was not audited for when all the initial specializations landed, so we should take a look and make sure that everything adheres to this policy.
Additionally, documentation should be added to the Iterator trait methods indicating what form of guarantees you are given (e.g. calling last is equivalent to exhausting the iterator).
Iterator
last
triage: I-nominated
Tagging as T-compiler, but may also be T-lang (not sure). This compiles ok on stable/beta and fails to compile on nightly.
triage: beta-nominated
@arielb1 indicates that the regression reported in https://github.com/rust-lang/rust/issues/28801 was fixed by this PR (e.g. working in 1.3, broken in 1.4 (beta), and working in 1.5), so nominating for a backport to beta.
triage: P-medium
triage: P-high
Seems like a straightforward oversight in the WF checker.
This is a backwards incompat issue, but feels like an edge case. Nonetheless we should definitely fix it!
We’d like to see what LLVM will do before we invest a lot of effort on our side, and this seems relatively unlikely to cause problems in practice (though I have personally hit this while developing the compiler as well). There are no backwards incomatibility issues to be concerned about.
Um, I agree.
I agree with @rprichard's take for the most part. I guess that `return as i32` ought to parse...weird as it is.
I'm not 100% sure what's going on. It seems to have to do with the coercion rules. I'm not aware that they changed recently, but I'll have to review the PRs.
triage: P-high (regression)
Permalink to this digest
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.