return/return.rs
1extern crate closures;
2
3use std::iter::Map;
4use closures::Closure1;
5
6fn main() {
7 for n in add(10, vec![1,2,3]) {
8 println!("{}", n);
9 }
10}
11
12fn add<T>(n: i32, v: T) -> Map<T::IntoIter, Closure1<i32, i32, i32>>
13 where T: IntoIterator<Item=i32>,
14{
15 v.into_iter().map(Closure1::new(n, |&n, m| n + m))
16}