+use std::iter;
-pub fn from_elem<T : Copy>(nb_elem: uint, t: T) -> Vec<T> {
- let mut v = Vec::with_capacity(nb_elem);
- for _ in range(0u, nb_elem) {
- v.push(t);
- }
- v
-}
\ No newline at end of file
+pub fn from_elem<T : Clone>(nb_elem: uint, t: T) -> Vec<T> {
+ iter::repeat(t).take(nb_elem).collect()
+}