#macro

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

#797 in Rust patterns

Download history 3/week @ 2024-06-22 1/week @ 2024-06-29 1/week @ 2024-07-06 44/week @ 2024-07-27 1/week @ 2024-08-03 305/week @ 2024-09-07 40/week @ 2024-09-14 43/week @ 2024-09-21 31/week @ 2024-09-28 16/week @ 2024-10-05

139 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