1 个不稳定版本
0.1.0 | 2023年10月25日 |
---|
#1402 in Rust 模式
每月 5,205 次下载
16KB
PartialDefault
是一个给类型赋予非有用默认值的 trait。
标准 Default
trait 将其目的记录为提供“有用”的默认值。然而,某些类型(如凭证)没有有意义的默认值,但仍需要已初始化的已知值。
- serde 的隐藏
Deserializer::deserialize_in_place
,通常比常规的deserialize
更高效。 - subtle 的
ConditionallySelectable::conditional_assign
,用于至少一次成功的重复赋值。 - 即使在外部发出错误信号时也必须产生结果的 API(如 JNI 函数)
PartialDefault
满足这个细分市场。实现了 PartialDefault
的类型可以提供一个安全删除或重新分配的值,但对于该值的其他方面不做任何保证。它提供了一个 derive 宏(可选,具有 derive
功能)并且是 no_std
兼容的。
许可和贡献
PartialDefault
是为了支持 libsignal 而制作的,但根据 AGPLv3 许可证可供通用使用。然而,这个包是低维护的;不要期望积极的支持或功能请求的进展。
Signal 接受对这个项目的外部贡献;但是,所有贡献都需要签署 CLA(贡献者许可协议)。
版权 2023 Signal Messenger, LLC。
partial-default-derive
包包含来自 rust-smart-default
包的代码,版权所有 (c) 2017 Idan Arye,在 MIT 许可证 下。
依赖关系
~110KB