#default #pseudo #swap #uninitialized

无 std orx-pseudo-default-derive

实现了 PseudoDefault 特性,允许创建一个类型的经济默认实例,该实例不保证有用。

1 个稳定版本

1.0.0 2024 年 8 月 13 日

#8#uninitialized

Download history 85/week @ 2024-08-07 87/week @ 2024-08-14

172 每月下载量
orx-pseudo-default 中使用

MIT 许可证

6KB
73

orx-pseudo-default-derive

orx-pseudo-default-derive crate orx-pseudo-default-derive documentation

实现了 PseudoDefault 特性,允许创建一个类型的经济默认实例,该实例不保证有用。

示例

use orx_pseudo_default::PseudoDefault;
use orx_pseudo_default_derive::PseudoDefault;

#[derive(PseudoDefault)]
struct ChildStruct {
    a: String,
    b: char,
    c: Vec<u32>,
}

#[derive(PseudoDefault)]
struct MyStruct {
    x: ChildStruct,
    y: bool,
    z: Option<usize>,
}

assert_eq!(String::pseudo_default(), MyStruct::pseudo_default().x.a);
assert_eq!(char::pseudo_default(), MyStruct::pseudo_default().x.b);
assert_eq!(Vec::<u32>::pseudo_default(), MyStruct::pseudo_default().x.c);

assert_eq!(bool::pseudo_default(), MyStruct::pseudo_default().y);
assert_eq!(
    Option::<usize>::pseudo_default(),
    MyStruct::pseudo_default().z
);

依赖项

~265–720KB
~17K SLoC