1个不稳定版本
0.1.2 | 2021年5月9日 |
---|---|
0.1.1 |
|
0.1.0 |
|
577 在 进程宏 中
11,439 每月下载量
用于 15 个crate(7个直接使用)
7KB
102 行
concat-arrays
:用于连接固定大小数组的Rust宏
该crate定义了concat_arrays!
宏,允许您连接数组。
示例
use concat_arrays::concat_arrays;
fn main() {
let x = [0];
let y = [1, 2];
let z = [3, 4, 5];
let concatenated = concat_arrays!(x, y, z);
assert_eq!(concatenated, [0, 1, 2, 3, 4, 5]);
}
限制
由于Rust的限制,concat_arrays!
无法告知编译器返回数组的长度。因此,长度需要从周围的环境中推断出来。例如,在上面的示例中,长度是通过调用assert_eq!
推断出来的。虽然可以错误地指定长度,但是这是安全的,因为您将得到编译错误而不是损坏的代码。
致谢
实现此功能的灵感主要来自const-concat
crate(该crate实现了编译时数组连接)。
依赖
~1.5MB
~36K SLoC