// run-pass | |
#![allow(stable_features)] | |
// Test to see that the element type of .cloned() can be inferred | |
// properly. Previously this would fail to deduce the type of `sum`. | |
#![feature(iter_arith)] | |
fn square_sum(v: &[i64]) -> i64 { | |
let sum: i64 = v.iter().cloned().sum(); | |
sum * sum | |
} | |
fn main() { | |
assert_eq!(36, square_sum(&[1,2,3])); | |
} |