#traits #bounds #boolean #expression #generics #no-alloc

无std bool_traits

使用布尔表达式作为特征界限

2个版本

0.1.1 2024年4月7日
0.1.0 2024年4月7日

#169无标准库

MIT 许可证

3KB

bool_traits

bool_traits

使用布尔表达式作为特征界限。

示例

#![feature(generic_const_exprs)]

use bool_traits::*;

fn create_small_u8_array<const N: usize>() -> [u8; N]
    where
        (): True<{ N <= 4 }>,
{
    [0; N]
}
// this compiles:
let array = create_small_u8_array::<3 > ();
// this does not:
let array = create_small_u8_array::<5 > ();

lib.rs:

使用布尔表达式作为特征界限。

示例

#![feature(generic_const_exprs)]

use bool_traits::*;

fn create_small_u8_array<const N: usize>() -> [u8; N]
where
    (): True<{ N <= 4 }>,
{
    [0; N]
}

// this compiles:
let array = create_small_u8_array::<3>();
// this does not:
let array = create_small_u8_array::<5>();

无运行时依赖