Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::ops::Range;
- fn map_mut<T, F>(arr: &mut [T], range: Range<usize>, f: F)
- where
- F: Fn(&T) -> T
- {
- let slice = arr[range].iter_mut();
- for element in slice {
- *element = f(element);
- }
- }
- fn magic(_: &i32) -> i32 { 42 }
- fn main() {
- let mut arr = vec![1, 2, 3, 4];
- map_mut(&mut arr, 1..3, magic);
- map_mut(&mut arr, 1..3, |x| x * 10);
- println!("{:?}", arr);
- }
Add Comment
Please, Sign In to add comment