| //@ run-rustfix |
| use std::collections::hash_set::Iter; |
| use std::collections::HashSet; |
| |
| fn iter_to_vec<'b, X>(i: Iter<'b, X>) -> Vec<X> where X: Clone { |
| let i = i.map(|x| x.clone()); |
| i.collect() //~ ERROR E0277 |
| } |
| |
| fn main() { |
| let v = vec![(0, 0)]; |
| let scores = v |
| .iter() |
| .map(|(a, b)| { |
| a + b |
| }); |
| println!("{}", scores.sum::<i32>()); //~ ERROR E0277 |
| println!( |
| "{}", |
| vec![0, 1] |
| .iter() |
| .map(|x| x * 2) |
| .map(|x| { x }) |
| .map(|x| { x }) |
| .sum::<i32>(), //~ ERROR E0277 |
| ); |
| println!("{}", vec![0, 1].iter().map(|x| { x }).sum::<i32>()); //~ ERROR E0277 |
| let a = vec![0]; |
| let b = a.into_iter(); |
| let c = b.map(|x| x + 1); |
| let d = c.filter(|x| *x > 10 ); |
| let e = d.map(|x| { |
| x + 1 |
| }); |
| let f = e.filter(|_| false); |
| let g: Vec<i32> = f.collect(); //~ ERROR E0277 |
| println!("{g:?}"); |
| |
| let mut s = HashSet::new(); |
| s.insert(1u8); |
| println!("{:?}", iter_to_vec(s.iter())); |
| } |