SHOW:
|
|
- or go back to the newest paste.
| 1 | use std::borrow::Borrow; | |
| 2 | ||
| 3 | fn iter_everything<I, T>(iter: I) | |
| 4 | where I: IntoIterator<Item=T>, | |
| 5 | T: Borrow<f64> | |
| 6 | { | |
| 7 | for i in iter.into_iter() { | |
| 8 | print!("{} ", *i.borrow() + 2.0); | |
| 9 | } | |
| 10 | ||
| 11 | println!(); | |
| 12 | } | |
| 13 | ||
| 14 | ||
| 15 | fn main() { | |
| 16 | let vec = vec![1.0f64, 2.0, 3.0]; | |
| 17 | ||
| 18 | iter_everything(vec.clone()); | |
| 19 | iter_everything(&vec[1..]); | |
| 20 | iter_everything( std::iter::repeat(1.0f64).take(5)) | |
| 21 | } |