#![warn( clippy::default_trait_access, clippy::dbg_macro, clippy::print_stdout, clippy::unimplemented, clippy::use_self, missing_copy_implementations, missing_docs, non_snake_case, non_upper_case_globals, rust_2018_idioms, unreachable_pub )] use enum_as_inner::EnumAsInner; pub mod name_collisions { #![allow(dead_code, missing_copy_implementations, missing_docs)] pub struct Option; pub struct Some; pub struct None; pub struct Result; pub struct Ok; pub struct Err; } #[allow(unused_imports)] use name_collisions::*; #[derive(EnumAsInner)] enum UnitVariants { Zero, One, Two, } #[test] fn test_zero_unit() { let unit = UnitVariants::Zero; assert!(unit.is_zero()); assert!(!unit.is_one()); assert!(!unit.is_two()); } #[test] fn test_one_unit() { let unit = UnitVariants::One; assert!(!unit.is_zero()); assert!(unit.is_one()); assert!(!unit.is_two()); } #[test] fn test_two_unit() { let unit = UnitVariants::Two; assert!(!unit.is_zero()); assert!(!unit.is_one()); assert!(unit.is_two()); }