-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Closed
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Description
Our CI in winit started breaking on nightly recently due to inability of recent rustc nightly to build the https://github.com/madsmtm/objc2 crate, in particular you can look into madsmtm/objc2#432 issue.
Error
The error we get is:
error[E0277]: `<<I as IvarType>::Type as InnerIvarType>::Output` is not an iterator
--> /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.3.0-beta.3.patch-leaks.2/src/declare/ivar_forwarding_impls.rs:165:5
|
165 | fn nth(&mut self, n: usize) -> Option<<<Self as Deref>::Target as Iterator>::Item> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `<<I as IvarType>::Type as InnerIvarType>::Output` is not an iterator
|
= help: the trait `Iterator` is not implemented for `<<I as IvarType>::Type as InnerIvarType>::Output`
note: required for `ivar::Ivar<I>` to implement `Iterator`
--> /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.3.0-beta.3.patch-leaks.2/src/declare/ivar_forwarding_impls.rs:154:19
|
154 | impl<I: IvarType> Iterator for Ivar<I>
| ^^^^^^^^ ^^^^^^^
155 | where
156 | <Self as Deref>::Target: Iterator,
| -------- unsatisfied trait bound introduced here
help: consider further restricting the associated type
|
165 | fn nth(&mut self, n: usize) -> Option<<<Self as Deref>::Target as Iterator>::Item> where <<I as IvarType>::Type as InnerIvarType>::Output: Iterator {
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0277]: `<<I as IvarType>::Type as InnerIvarType>::Output` is not an iterator
--> /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.3.0-beta.3.patch-leaks.2/src/declare/ivar_forwarding_impls.rs:165:5
|
165 | fn nth(&mut self, n: usize) -> Option<<<Self as Deref>::Target as Iterator>::Item> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `<<I as IvarType>::Type as InnerIvarType>::Output` is not an iterator
|
= help: the trait `Iterator` is not implemented for `<<I as IvarType>::Type as InnerIvarType>::Output`
help: consider further restricting the associated type
|
165 | fn nth(&mut self, n: usize) -> Option<<<Self as Deref>::Target as Iterator>::Item> where <<I as IvarType>::Type as InnerIvarType>::Output: Iterator {
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I expected to see this happen: it should build.
Instead, this happened: it doesn't build, see above.
Version it worked on
It most recently worked on: rust version 1.69.0-nightly (31f858d 2023-02-28)
Version with regression
rustc --version --verbose
:
rust version 1.70.0-nightly (da7c50c08 2023-03-19)
horttanainen, ameknite, gabrielbiga, jerryshell and kornelski
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.