9个稳定版本
1.5.0 | 2023年3月29日 |
---|---|
1.4.2 | 2023年1月18日 |
1.3.0 | 2022年11月8日 |
1.1.0 | 2021年9月10日 |
1.0.0 | 2021年8月27日 |
#140 在 内存管理 中
36,646 每月下载量
在 63 个crate中使用(通过 zenoh-keyexpr)
20KB
456 行
这个库为ghost-cell
提供了一种替代方案,它使用具体类型而不是生命周期来进行品牌。
这允许更方便的使用,其中单元格和令牌可以独立构造,具有与ghost-cell
相同的编译时保证。这种更方便的使用和更易于理解的命名方法的代价是,令牌虽然如果正确构建是零大小的,但必须保证只有在没有其他实例存在时才能构造。
为此,这个crate提供了generate_token
宏,它将创建一个只能使用TokenTrait::new
构造的ZST。
lib.rs
:
这个库为ghost-cell
提供了一种替代方案,它使用具体类型而不是生命周期来进行品牌。
这允许更方便的使用,其中单元格和令牌可以独立构造,具有与ghost-cell
相同的编译时保证。这种更方便的使用和更易于理解的命名方法的代价是,令牌虽然如果正确构建是零大小的,但必须保证只有在没有其他实例存在时才能构造。
为此,这个crate提供了generate_token
宏,它将创建一个只能使用TokenTrait::aquire
构造的ZST,这是在返回令牌之前生成以保证没有其他令牌存在。这是通过检查静态AtomicBool
标志来完成的,这是这些令牌的唯一运行时成本。