Module brands

Module brands 

Source
Expand description

Higher-kinded representations of types.

Brands represent higher-kinded (unapplied/partially-applied) forms of types, as opposed to concrete types, which are fully-applied.

For example, VecBrand represents the higher-kinded type Vec, whereas Vec A/Vec<A> is the concrete type where Vec has been applied to some generic type A.

Re-exportsยง

pub use crate::types::arc_fn::ArcFnBrand;
pub use crate::types::endofunction::EndofunctionBrand;
pub use crate::types::endomorphism::EndomorphismBrand;
pub use crate::types::identity::IdentityBrand;
pub use crate::types::option::OptionBrand;
pub use crate::types::pair::PairBrand;
pub use crate::types::pair::PairWithFirstBrand;
pub use crate::types::pair::PairWithSecondBrand;
pub use crate::types::rc_fn::RcFnBrand;
pub use crate::types::result::ResultBrand;
pub use crate::types::result::ResultWithErrBrand;
pub use crate::types::result::ResultWithOkBrand;
pub use crate::types::vec::VecBrand;