#stack-allocated #heap #heap-allocated

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

#6 in #heap-allocated

26 downloads per month
Used in graphrs

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