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)
pubtraitPolicy: Copy + Clone + Ord + FromPrimitive + ToPrimitive {}pubtraitRole: Ord + FromPrimitive {typePolicy: Policy;fnpolicies(&self)->&[Self::Policy];}