Expand description
wrapped_enum! - Wrap multiple types into an Enum
This is useful when returning multiple types. simply to just work on an enum of known types.
Documentation is required when using public enums
#[derive(Debug)]
pub enum TestError {
ErrorA,
ErrorB(u8, u16),
ErrorC(String),
}
wrapped_enum!{
#[derive(Debug)]
/// Document your pub enums
pub enum DocumentedEnum {
/// Variants too
Io(io::Error),
/// Documentation is required for pub enums
Test(TestError),
/// Unknown error
Unknown(()),
}
}
wrapped_enum!{
#[derive(Debug, Eq, PartialEq)]
/// You can't document private variants
enum UndocumentedEnum {
// However, there is nothing wrong with normal comments
Byte(u8), // 00-FF
DoubleByte(u16), // 0000-FFFF
}
}
assert!(UndocumentedEnum::from(0u8) == UndocumentedEnum::Byte(0));
assert!(UndocumentedEnum::from(0u16) == UndocumentedEnum::DoubleByte(0));