#const-fn #array #const #init

无 std array-const-fn-init

使用 const fn 计算的常量值初始化数组

2 个版本

0.1.1 2020 年 5 月 20 日
0.1.0 2020 年 5 月 20 日

#1274 in 数据结构

Download history • Rust 包仓库 108/week @ 2024-04-22 • Rust 包仓库 172/week @ 2024-04-29 • Rust 包仓库 509/week @ 2024-05-06 • Rust 包仓库 580/week @ 2024-05-13 • Rust 包仓库 183/week @ 2024-05-20 • Rust 包仓库 36/week @ 2024-05-27 • Rust 包仓库 48/week @ 2024-06-03 • Rust 包仓库 37/week @ 2024-06-10 • Rust 包仓库 61/week @ 2024-06-17 • Rust 包仓库 113/week @ 2024-06-24 • Rust 包仓库 25/week @ 2024-07-01 • Rust 包仓库 475/week @ 2024-07-08 • Rust 包仓库 386/week @ 2024-07-15 • Rust 包仓库 378/week @ 2024-07-22 • Rust 包仓库 1898/week @ 2024-07-29 • Rust 包仓库 22887/week @ 2024-08-05 • Rust 包仓库

每月 25,680 次下载
10 包中使用 (直接使用 3 个)

MIT/Apache

7KB
54

array-const-fn-init

使用 const fn (usize) -> T 初始化数组,其中 T 为类型参数

要求 Rust >= 1.45

示例

use array_const_fn_init::array_const_fn_init;

const fn const_double_it(i: usize) -> usize {
    i * 2
}
const ARRAY: [usize; 10] = array_const_fn_init![const_double_it; 10];
assert_eq!(ARRAY, [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]);
use array_const_fn_init::array_const_fn_init;

const fn const_vecs(i: usize) -> (u8, u8, u8) {
    (i as u8, i as u8, i as u8)
}
const ARRAY: [(u8, u8, u8); 4] = array_const_fn_init![const_vecs; 4];
assert_eq!(ARRAY, [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, 3)]);

lib.rs:

使用 const fn 计算的常量值初始化数组

示例

use array_const_fn_init::array_const_fn_init;

const fn const_double_it(i: usize) -> usize {
    i * 2
}
const ARRAY: [usize; 10] = array_const_fn_init![const_double_it; 10];
assert_eq!(ARRAY, [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]);
use array_const_fn_init::array_const_fn_init;

const fn const_vecs(i: usize) -> (u8, u8, u8) {
    (i as u8, i as u8, i as u8)
}
const ARRAY: [(u8, u8, u8); 4] = array_const_fn_init![const_vecs; 4];
assert_eq!(ARRAY, [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, 3)]);

无运行时依赖