make_type_apply

Macro make_type_apply 

Source
macro_rules! make_type_apply {
    (
		$apply_alias_name:ident,
		$kind_trait_name:ident,
		$lifetimes:tt,
		$types:tt,
		$kind_signature:literal
	) => { ... };
    (
		@impl $apply_alias_name:ident,
		$kind_trait_name:ident,
		(),
		(),
		$kind_signature:literal
	) => { ... };
    (
		@impl $apply_alias_name:ident,
		$kind_trait_name:ident,
		($($lifetimes:lifetime),+),
		(),
		$kind_signature:literal
	) => { ... };
    (
		@impl $apply_alias_name:ident,
		$kind_trait_name:ident,
		(),
		($($types:ident),+),
		$kind_signature:literal
	) => { ... };
    (
		@impl $apply_alias_name:ident,
		$kind_trait_name:ident,
		($($lifetimes:lifetime),+),
		($($types:ident),+),
		$kind_signature:literal
	) => { ... };
}
Expand description

Generates an Apply type alias of a specific arity.

This macro creates type aliases that simplify the usage of kind traits by providing a more convenient syntax for type applications. These aliases are used throughout the library to make type signatures more readable.

ยงParameters

  • apply_alias_name: Type alias name (e.g., Apply0L1T).
  • kind_trait_name: Trait name (e.g., Kind0L1T).
  • lifetimes: Tuple of lifetime parameters (e.g., ('a, 'b)).
  • types: Tuple of type parameters (e.g., (A, B)).
  • kind_signature: Kind signature (e.g., "* -> *").