value_from_type_macros 1.0.3

Implement enum (and cast methods) for a set of struct types
docs.rs failed to build value_from_type_macros-1.0.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: value_from_type_macros-1.0.2

Value from Type -Macros

Latest Version Rust Documentation

Procedural macro attribute to match structure types with an enum variant.

This macro can be applied on a module to make a connection between each defined struct and a newly created enum type. This enum is built into the same module as the macro is invocated upon. The macro will also implement value_from_type_traits::FromType on the enum for each struct (within the module) as generic argument.

Examples

#![feature(proc_macro)]
extern crate value_from_type_macros;
extern crate value_from_type_traits;

// 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.
// Notice: EnumName::X IS the enum variant corresponding to the struct temp::X!
use self::temp::{EnumName, X};
// use self::temp::*;

fn main() {
	assert_eq!(EnumName::X, X::into_enum()); 
}