7 个不稳定版本 (3 个破坏性更新)
0.4.1 | 2021年11月23日 |
---|---|
0.4.0 | 2021年11月23日 |
0.3.1 | 2021年11月13日 |
0.2.1 | 2021年11月12日 |
0.1.0 | 2021年11月12日 |
#958 in 并发
每月下载 23 次
105KB
2K SLoC
重型弹性 - 几乎安全的生命周期扩展抽象,适合探险家或好奇者
是否曾经需要从一个必须为 &'a T
的闭包中访问 'static
?
知道你可以“借用”那个 &'a T
,只在你想要闭包运行的时候?
如果是这样,那么 Elastic
类型就是为你准备的!请负责任地使用。兼容 no-std
。需要 nightly 版本以支持 generic_associated_types
和 allocator_api
功能。不要在新月期间使用。在血月或日食期间,请将包含此 crate 源代码的任何机器冷藏并上锁。
功能
- 将不可变或可变引用“借用”到非
'static
代码中,使用非'static
守卫来确保引用不会超出其生命周期。 Elastic
作为具有类似 refcell 内部的共享引用,提供简单的内部可变性。- 可能会吃掉你的狗。不会吃猫。它喜欢猫。我也喜欢。
- 此 crate 对非常特定的用例是安全的;请参阅
Stretched
特质的文档以获取更多信息。对实现Stretched
有非常严格的要求。如果您盲目地以违反这些要求的方式实现Stretched
,您将立即进入未定义行为领域。
许可证
许可协议为以下之一
- Apache 许可证 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可协议定义的,您有意提交的包含在作品中的任何贡献,应双许可如上,没有任何附加条款或条件。
依赖项
~0.4–0.9MB
~13K SLoC