-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
fundamental-issueSomething that'll need fundamental restructuring or a hack existing at the solver levelSomething that'll need fundamental restructuring or a hack existing at the solver levelneeds-further-investigationNeeds to be root-causedNeeds to be root-caused
Description
fn needs_iter(_: impl Iterator<Item = i32>) {}
fn main() {
needs_iter(IntoIterator::into_iter([0i32; 32]))
}
error[E0284]: type annotations needed: cannot satisfy `<<[i32; 32] as IntoIterator>::IntoIter as Iterator>::Item == i32`
--> <source>:4:16
|
4 | needs_iter(IntoIterator::into_iter([0i32; 32]))
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot satisfy `<<[i32; 32] as IntoIterator>::IntoIter as Iterator>::Item == i32`
| |
| required by a bound introduced by this call
|
note: required by a bound in `needs_iter`
--> <source>:1:32
|
1 | fn needs_iter(_: impl Iterator<Item = i32>) {}
| ^^^^^^^^^^ required by this bound in `needs_iter`
This may be due to us assembling two candidates -- one via the alias bound for IntoIter
and one via the normalized self type <[i32; 32] as IntoIterator>::IntoIter
which is std::array::IntoIter<i32, 32>
...
I'm surprised we're not combining these because they should have the same constraints -- none at all.
Metadata
Metadata
Assignees
Labels
fundamental-issueSomething that'll need fundamental restructuring or a hack existing at the solver levelSomething that'll need fundamental restructuring or a hack existing at the solver levelneeds-further-investigationNeeds to be root-causedNeeds to be root-caused