#value-type #enums #proc-macro #struct #procedural #structure #attributes

nightly macro value_from_type_macros

为一系列结构类型实现枚举(和转换方法)

7个稳定版本

使用旧的Rust 2015

1.0.6 2018年4月27日
1.0.5 2018年4月4日
1.0.3 2018年4月3日
1.0.2 2018年2月4日
1.0.1 2018年1月26日

#value-type中排名74

MIT许可证

16KB
270 代码行

类型宏 - 类型值

Latest Version Rust Documentation

过程宏属性,将结构类型与枚举变体匹配。

此宏可以应用于模块,在定义的每个结构体和新建的枚举类型之间建立连接。此枚举与宏调用所在的模块构建在一起。宏还将为模块内的每个结构体实现 value_from_type_traits::FromType 作为泛型参数。

示例

请参阅文档或 value_from_type_macros/src/lib.rs 以获取使用示例。


lib.rs:

过程宏属性,将结构类型与枚举变体匹配。

此宏可以应用于模块,在定义的每个结构体和新建的枚举类型之间建立连接。此枚举与宏调用所在的模块构建在一起。宏还将为模块内的每个结构体实现 value_from_type_traits::FromType 作为泛型参数。

示例

// Attribute macro must be imported through a use statement.
use value_from_type_macros::value_from_type;
// Implemented trait on `EnumName`
use value_from_type_traits::IntoEnum;

mod temp {
    // The parameter indicates the enum identifier.
    #![value_from_type(EnumName)]

    #[derive(Debug)]
    pub struct X();
}

// Explicit import for sake of example.
use self::temp::{EnumName, X};
// use self::temp::*;

assert_eq!(EnumName::X, X::into_enum());

依赖关系

~2.5MB
~54K SLoC