#infallible #derive #proc-macro #never #no-alloc #bottom-type

无标准库 nevermore

为 core::convert::Infallible 底类型提供 derive 宏

2 个版本

0.1.1 2023 年 9 月 9 日
0.1.0 2023 年 9 月 9 日

#8#infallible


用于 parsa

MIT/Apache 协议

8KB

nevermore

crates.io version crates.io downloads docs.rs

为 Rust 的底类型 core::convert::Infallible 提供 derive 宏。

特性

FromNever

此 derive 宏自动在类型上生成 From<Infallible> 实现

#[derive(nevermore::FromNever)]
struct User {
    name: String,
    age: u8,
}

将生成类似以下内容

impl From<Infallible> for User {
    fn from(infallible: Infallible) {
        match infallible {}
    }
}

lib.rs:

为底类型 core::convert::Infallible 提供便利。

如果(希望)never 类型最终完全稳定,这可能变得不再必要。

依赖项

~265–710KB
~17K SLoC