7 个版本
使用旧的 Rust 2015
0.1.6 | 2018年12月7日 |
---|---|
0.1.5 | 2018年12月7日 |
0.1.4 | 2018年7月6日 |
#15 in #arrays
用于 mtree
13KB
244 行
这个包包含一个宏 newtype_arrays
,它会创建透明的数组新类型,并实现其标准特性。当泛型常量到来时将不再需要,但在此期间,它意味着你可以在稳定的 Rust 上使用大型数组。
示例
#[macro_use]
extern crate newtype_array;
use std::collections::HashMap;
// Sha385 length
newtype_array!(pub struct Array48(pub 48));
// Sha512 length
newtype_array!(pub struct Array64(pub 64));
// We've got `Clone` and `PartialEq`/`Eq`
let arr1 = Array48([0u8; 48]);
let arr2 = arr1.clone();
assert_eq!(arr1, arr2);
// `Hash` is implemented as well
let mut map = HashMap::new();
map.insert(arr1, "hello");
lib.rs
:
newtype_array
这个包包含一个宏 newtype_arrays
,它会创建透明的数组新类型,并实现其标准特性。当泛型常量到来时将不再需要,但在此期间,它意味着你可以在稳定的 Rust 上使用大型数组。
示例
#[macro_use]
extern crate newtype_array;
use std::collections::HashMap;
// Sha385 length
newtype_array!(pub struct Array48(pub 48));
// Sha512 length
newtype_array!(pub struct Array64(pub 64));
// We've got `Clone` and `PartialEq`/`Eq`
let arr1 = Array48([0u8; 48]);
let arr2 = arr1.clone();
assert_eq!(arr1, arr2);
// `Hash` is implemented as well
let mut map = HashMap::new();
map.insert(arr1, "hello");