| // run-pass | |
| // revisions: full min | |
| #![cfg_attr(full, feature(const_generics))] | |
| #![cfg_attr(full, allow(incomplete_features))] | |
| use std::ops::AddAssign; | |
| fn inc<T: AddAssign + Clone, const N: usize>(v: &mut [T; N]) -> &mut [T; N] { | |
| for x in v.iter_mut() { | |
| *x += x.clone(); | |
| } | |
| v | |
| } | |
| fn main() { | |
| let mut v = [1, 2, 3]; | |
| inc(&mut v); | |
| assert_eq!(v, [2, 4, 6]); | |
| } |