mirror of
https://github.com/rust-lang/rust.git
synced 2025-12-30 08:05:31 +00:00
32 lines
906 B
Rust
32 lines
906 B
Rust
#![allow(unused_imports, clippy::needless_return)]
|
|
#![warn(clippy::flat_map_identity)]
|
|
|
|
use std::convert;
|
|
|
|
fn main() {
|
|
let iterator = [[0, 1], [2, 3], [4, 5]].iter();
|
|
let _ = iterator.flatten();
|
|
//~^ flat_map_identity
|
|
|
|
let iterator = [[0, 1], [2, 3], [4, 5]].iter();
|
|
let _ = iterator.flatten();
|
|
//~^ flat_map_identity
|
|
|
|
let iterator = [[0, 1], [2, 3], [4, 5]].iter();
|
|
let _ = iterator.flatten();
|
|
//~^ flat_map_identity
|
|
}
|
|
|
|
fn issue15198() {
|
|
let x = [[1, 2], [3, 4]];
|
|
// don't lint: this is an `Iterator<Item = &[i32, i32]>`
|
|
// match ergonomics makes the binding patterns into references
|
|
// so that its type changes to `Iterator<Item = [&i32, &i32]>`
|
|
let _ = x.iter().flat_map(|[x, y]| [x, y]);
|
|
let _ = x.iter().flat_map(|x| [x[0]]);
|
|
|
|
// no match ergonomics for `[i32, i32]`
|
|
let _ = x.iter().copied().flatten();
|
|
//~^ flat_map_identity
|
|
}
|