Macro test_tools::_pair
source · macro_rules! _pair { ( $( #[ $Meta : meta ] )* $Vis : vis pair $Name : ident : < $ParamName1 : ident $( : $ParamTy1x1 : ident $( :: $ParamTy1xN : ident )* $( + $ParamTy1x2 : path )* )?, $ParamName2 : ident $( : $ParamTy2x1 : ident $( :: $ParamTy2xN : ident )* $( + $ParamTy2x2 : path )* )? $(,)? > $( ; $( $Rest : tt )* )? ) => { ... }; ( $( #[ $Meta : meta ] )* $Vis : vis pair $Name : ident : < $ParamName1 : ident $( : $ParamTy1x1 : ident $( :: $ParamTy1xN : ident )* $( + $ParamTy1x3 : path )* )?, $ParamName2 : ident $( : $ParamTy2x1 : ident $( :: $ParamTy2xN : ident )* $( + $ParamTy2x3 : path )* )?, $ParamName3 : ident $( $Rest : tt )* ) => { ... }; ( $( #[ $Meta : meta ] )* $Vis : vis pair $Name : ident : $TypeSplit1x1 : ident $( :: $TypeSplit1xN : ident )* $( < $( $( $ParamName1 : ident $( : $ParamTy1x1 : ident $( :: $ParamTy1xN : ident )* $( + $ParamTy1x2 : path )* )? ),+ )? > )? , $TypeSplit2x1 : ident $( :: $TypeSplit2xN : ident )* $( < $( $ParamName2 : ident $( : $ParamTy2x1 : ident $( :: $ParamTy2xN : ident )* $( + $ParamTy2x2 : path )* )? ),* > )? $(,)? $( ; $( $Rest : tt )* )? ) => { ... }; ( $( #[ $Meta : meta ] )* $Vis : vis pair $Name : ident : < $ParamName1 : ident $( : $ParamTy1x1 : ident $( :: $ParamTy1xN : ident )* $( + $ParamTy1x2 : path )* )? $(,)? > $( ; $( $Rest : tt )* )? ) => { ... }; ( $( #[ $Meta : meta ] )* $Vis : vis pair $Name : ident : $TypeSplit1x1 : ident $( :: $TypeSplit1xN : ident )* $( < $( $( $ParamName1 : ident $( : $ParamTy1x1 : ident $( :: $ParamTy1xN : ident )* $( + $ParamTy1x2 : path )* )? ),+ )? > )? $(,)? $( ; $( $Rest : tt )* )? ) => { ... }; }
Expand description
Pair type constructor.
Should not be used directly. Instead use macro crate::types!.