Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn do_something<T, S>(params: &[S], subs: &[T])
- where
- T: Clone + std::slice::SliceIndex<[S]>,
- <T as std::slice::SliceIndex<[S]>>::Output: std::fmt::Debug,
- S: std::fmt::Debug,
- {
- for range in subs {
- println!("Sequence: {:?}", ¶ms[range.clone()]);
- }
- println!("Unsliced: {:?}", params);
- }
- fn main() {
- let mut params = vec![];
- let mut idx = vec![];
- let mut global_idx = 0;
- for seq in &[vec![0], vec![4, 3], vec![38, 2, 1, 255, 100]] {
- let start = global_idx;
- for p in seq {
- params.push(*p);
- global_idx += 1;
- }
- idx.push(start..global_idx);
- }
- do_something(¶ms, &idx);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement