usenum_traits::{FromPrimitive, ToPrimitive};/// A marker trait for enums where variants do not have payloads
////// ToPrimitive must produce unique value (same value that use in Ord)
pubtraitPermission: Copy + Clone + Ord + FromPrimitive + ToPrimitive {}pubtraitRole: Ord + FromPrimitive {typePermission: Permission;fnpermissions(&self)->&[Self::Permission];}