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). triage: I-nominated
triage: I-nominated
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.
triage: P-medium
triage: P-medium This is a backwards incompat issue, but feels like an edge case. Nonetheless we should definitely fix it!
triage: P-high
triage: P-medium
triage: P-high
triage: P-medium 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. triage: P-medium
I agree with @rprichard's take for the most part. I guess that `return as i32` ought to parse...weird as it is. triage: P-medium
triage: P-medium This is a backwards incompat issue, but feels like an edge case. Nonetheless we should definitely fix it!
triage: I-nominated
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)