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}