35 lines
819 B
Rust
35 lines
819 B
Rust
#![warn(clippy::suspicious_map)]
|
|
|
|
fn main() {
|
|
let _ = (0..3).map(|x| x + 2).count();
|
|
//~^ ERROR: this call to `map()` won't have an effect on the call to `count()`
|
|
|
|
let f = |x| x + 1;
|
|
let _ = (0..3).map(f).count();
|
|
//~^ ERROR: this call to `map()` won't have an effect on the call to `count()`
|
|
}
|
|
|
|
fn negative() {
|
|
// closure with side effects
|
|
let mut sum = 0;
|
|
let _ = (0..3).map(|x| sum += x).count();
|
|
|
|
// closure variable with side effects
|
|
let ext_closure = |x| sum += x;
|
|
let _ = (0..3).map(ext_closure).count();
|
|
|
|
// closure that returns unit
|
|
let _ = (0..3)
|
|
.map(|x| {
|
|
// do nothing
|
|
})
|
|
.count();
|
|
|
|
// external function
|
|
let _ = (0..3).map(do_something).count();
|
|
}
|
|
|
|
fn do_something<T>(t: T) -> String {
|
|
unimplemented!()
|
|
}
|