3 个版本
0.1.2 | 2024年5月13日 |
---|---|
0.1.1 | 2024年3月21日 |
0.1.0 | 2024年3月21日 |
#2 in #boxing
40 每月下载次数
用于 eventsys
39KB
727 行
Anythingy
这是一个正在进行中的项目,不适合生产使用。
东西:一个忘记了名字、不知道名字或者不愿意提及名字的东西。 [来自牛津高阶英汉双解词典]
一个用于动态类型的库。其主要特点是 东西 类型,它的工作方式类似于 Box<dyn Any>,但可以在编译时进行大小调整,如果太大,则会回退到装箱值。
示例
use anything::Thing;
fn main() {
let number_thing: Thing<24> = Thing::new(42u64);
let string_thing: Thing<24> = Thing::new(String::from("Hello there"));
let bytes_thing: Thing<24> = Thing::new(Vec::from(b"so uncivilized"));
let number = number_thing.get::<u64>();
assert_eq!(number, 42);
let string = string_thing.get::<String>();
assert_eq!(&string, "Hello there");
let bytes = bytes_thing.get::<Vec<u8>>();
assert_eq!(&bytes, b"so uncivilized");
}
许可证
本项目采用 MIT 许可证。