#reference #wrapper #strongly-typed #primitive #owned #string #zero-copy

new_type_derive

通过轻松创建强类型封装和引用类型来对抗原始数据类型迷恋

4 个版本

使用旧 Rust 2015

0.2.2 2018年7月30日
0.2.1 2018年7月30日
0.2.0 2018年7月30日
0.1.1 2018年7月29日
0.1.0 2018年7月29日

#43 in #owned

MIT/Apache

30KB
649

new_type_derive

这个软件包提供了一个宏 new_type_pair!,允许在原始数据类型及其引用上创建封装类型。例如,当为 String 创建强类型封装时,我们可能还希望有一个相应的强类型封装在引用类型 str 上。这可以启用更好的零拷贝行为,同时仍然保持强类型封装的好处。

引用新类型必须实现 NewTypeRef 特性,它提供了一个机制来验证值在返回封装的新类型之前是否有效。它还确保您能够通过自动实现 FromAsRefBorrowPartialEqPartialOrd 以及在启用 serde 功能时 SerializeDeserialize 来无缝地在引用类型、所有类型、底层所有类型和底层引用类型之间进行转换。


lib.rs:

这个软件包提供了一种轻松创建封装新类型及其对应引用类型的方法

依赖项

~175KB