1
2
3
4
5
6
7
8
9
10
11
12
13
/// Defines which mint type a given type is associated with. This trait enables
/// converting a type into its mint equivalent without having to name the mint
/// type.
///
/// Implementing `IntoMint` on a type states that the type is semantically
/// equivalent to the type given in `MintType`.
///
/// All mint types implement `IntoMint` reflexively, i.e., they implement
/// `IntoMint<MintType = Self>`.
pub trait IntoMint: Into<Self::MintType> {
    /// The mint type that this type is associated with.
    type MintType;
}