mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 02:03:53 +00:00
20 lines
773 B
Rust
20 lines
773 B
Rust
|
// Tests that the compiler suggests an `into_iter` call when an `Iterator` method
|
||
|
// is called on something that implements `IntoIterator`
|
||
|
|
||
|
fn main() {
|
||
|
let items = items();
|
||
|
let other_items = items.map(|i| i + 1);
|
||
|
//~^ ERROR no method named `map` found for opaque type `impl IntoIterator<Item = i32>` in the current scope
|
||
|
let vec: Vec<i32> = items.collect();
|
||
|
//~^ ERROR no method named `collect` found for opaque type `impl IntoIterator<Item = i32>` in the current scope
|
||
|
}
|
||
|
|
||
|
fn items() -> impl IntoIterator<Item = i32> {
|
||
|
vec![1, 2, 3]
|
||
|
}
|
||
|
|
||
|
fn process(items: impl IntoIterator<Item = String>) -> Vec<String> {
|
||
|
items.collect()
|
||
|
//~^ ERROR no method named `collect` found for type parameter `impl IntoIterator<Item = String>` in the current scope
|
||
|
}
|