1 2 3 4 5 6 7 8 9 10 11 12 13
use crate::ShortName; use std::fmt::Debug; use std::hash::Hash; /// An addressable location in the Diplomacy world. /// This trait is used during order parsing and mapping to allow for /// orders that reference regions by name rather than by reference. pub trait Location: ShortName + Clone + Debug + PartialEq + Eq + Hash { type Province: PartialEq; fn province(&self) -> &Self::Province; }