#stack-allocated #array-vec #heap-allocated #vec-t #size #moves

vec_to_array

Moves a heap allocated Vec<T> to an stack allocated array of type T and size N

7 releases

0.2.5 Sep 7, 2024
0.2.4 Sep 7, 2024
0.2.3 Oct 26, 2023
0.1.0 Oct 26, 2023

#672 in Algorithms

Download history 255/week @ 2024-09-02 55/week @ 2024-09-09 38/week @ 2024-09-16 44/week @ 2024-09-23 29/week @ 2024-09-30 18/week @ 2024-10-07 15/week @ 2024-10-21 4/week @ 2024-11-04 6/week @ 2024-11-18 30/week @ 2024-11-25 45/week @ 2024-12-02 94/week @ 2024-12-09 27/week @ 2024-12-16

197 downloads per month

MIT license

8KB
108 lines

vec_to_array

Moves a heap allocated Vec into a stack allocated array.

let vec: Vec<i64> = vec![1, 2, 3];
let array: [i64; 3] = vec_to_array!(vec, i64, 3);
assert_eq!(array, [1, 2, 3]);

let vec: Vec<i32> = vec![1, 2, 3];
let array: Result<[i32; 3], VecToArrayError> = try_vec_to_array!(vec, i32, 3);
assert_eq!(array.unwrap(), [1, 2, 3]);

Note, 1.48.0 introduced an implementation of try_into for transmuting directly on the heap, which should usually be preferred.


lib.rs:

Moves a heap allocated Vec<T> to an stack allocated array of type T and size N.

No runtime deps