Macro newtype_ops::newtype_ops__ [] [src]

macro_rules! newtype_ops__ {
    (@product::next({$($token:tt)+} $($rest:tt)*) -> $args:tt) => { ... };
    (@product::next( $token:tt $($rest:tt)*) -> $args:tt) => { ... };
    (@product::next() -> $args:tt) => { ... };
    (@product::single($token:tt $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@product::unpack({$($token:tt)*} $($rest:tt)*) -> $args:tt) => { ... };
    (@product::unpack_2({$($token:tt)*} $rest:tt) -> $args:tt) => { ... };
    (@product::unpack_3($token:tt [$($rest:tt)*]) -> $args:tt) => { ... };
    (@interpret($($rest:tt)*)) => { ... };
    (@interpret::type([$($T:tt)*] $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(arithmetic $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(integer $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(arith_ring $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(bitwise $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(add $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(sub $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(mul $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(div $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(rem $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(neg $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(bitand $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(bitor $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(bitxor $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::oper(not $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::mode(normal $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::mode(assign $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::mode(: $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::mode(= $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::self(&Self $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::self(^Self $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::self(Self $($rest:tt)*) -> ($($args:tt)*)) => { ... };
    (@interpret::other(&Self) -> ($($args:tt)*)) => { ... };
    (@interpret::other(^Self) -> ($($args:tt)*)) => { ... };
    (@interpret::other(Self) -> ($($args:tt)*)) => { ... };
    (@interpret::other() -> ($($args:tt)*)) => { ... };
    (@interpret::other(^$($rest:tt)+) -> ($($args:tt)*)) => { ... };
    (@interpret::other($($rest:tt)+) -> ($($args:tt)*)) => { ... };
    (@postprocess(
		$value_ty:tt $kind:tt $traits:tt $methods:tt $mode:tt $recv_form:tt $arg:tt $arg_form:tt
	)) => { ... };
    (@postprocess::blacklist([{mode:assign} {kind:unary}  $($more:tt)*] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{mode:assign} {kind:binary} $($more:tt)*] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{mode:normal} {kind:unary} $($more:tt)*] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{mode:normal} {kind:binary} $($more:tt)*] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{kind:assign} {recv_form:[&x.0]} $arg_form:tt $arg:tt] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{kind:unary} $recv_form:tt {arg_form:[&x.0]} $arg:tt] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{kind:unary} $recv_form:tt {arg_form:[x]}    $arg:tt] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{kind:assign} $recv_form:tt $arg_form:tt {arg:[#ref]}] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{kind:assign} $recv_form:tt $arg_form:tt {arg:[&$($arg:tt)+]}] $($rest:tt)*)) => { ... };
    (@postprocess::blacklist([{kind:$kind:tt} $($dropped:tt)*] $($rest:tt)*)) => { ... };
    (@postprocess::true_types(
		[{arg:[#value]} {value_ty:[$($T:tt)*]} $recv_form:tt] $($rest:tt)*
	)) => { ... };
    (@postprocess::true_types(
		[{arg:[#ref]} {value_ty:[$($T:tt)*]} $recv_form:tt] $($rest:tt)*
	)) => { ... };
    (@postprocess::true_types(
		[{arg:[$($arg:tt)*]} {value_ty:[$($T:tt)*]} $recv_form:tt] $($rest:tt)*
	)) => { ... };
    (@postprocess::true_types::2(
		[{value_ty:[$($T:tt)*]} {recv_form:[&$($recv_form:tt)*]} {arg:[&$($arg:tt)*]}] $($rest:tt)*
	)) => { ... };
    (@postprocess::true_types::2(
		[{value_ty:[$($T:tt)*]} {recv_form:[&$($recv_form:tt)*]} {arg:[$($arg:tt)*]}] $($rest:tt)*
	)) => { ... };
    (@postprocess::true_types::2(
		[{value_ty:[$($T:tt)*]} {recv_form:[$($recv_form:tt)*]} {arg:[&$($arg:tt)*]}] $($rest:tt)*
	)) => { ... };
    (@postprocess::true_types::2(
		[{value_ty:[$($T:tt)*]} {recv_form:[$($recv_form:tt)*]} {arg:[$($arg:tt)*]}] $($rest:tt)*
	)) => { ... };
    (@postprocess::almost_there(
		{traits:$traits:tt} {methods:$methods:tt}
		{recv_form:$recv_form:tt} {arg_form:$arg_form:tt}
		{kind:$kind:tt}                                               // from blacklist
		{tpars:$tpars:tt} {recv:$Recv:tt} {arg:$Arg:tt} {out:$Out:tt} // from true_types
	)) => { ... };
    (@impl::unary
		traits:[[$($Trait:tt)*]]
		methods:[[$meth:ident]]
		tpars:[$($tpars:tt)*] recv:[$Recv:ty] arg:$_Arg:tt out:[$Out:path]
		forms:[[$($form1:tt)*] $_form2:tt]
	) => { ... };
    (@impl::binary
		traits:[[$($Trait:tt)*] $_TraitAssign:tt]
		methods:[[$meth:ident] $_meth_assign:tt]
		tpars:[$($tpars:tt)*] recv:[$Recv:ty] arg:[$Arg:ty] out:[$Out:path]
		forms:[[$($form1:tt)*][$($form2:tt)*]]
	) => { ... };
    (@impl::assign
		traits:[$_Trait:tt [$($TraitAssign:tt)*]]
		methods:[$_meth:tt [$meth_assign:ident]]
		tpars:[$($tpars:tt)*] recv:[$Recv:ty] arg:[$Arg:ty] out:$_Out:tt
		forms:[$_form1:tt [$($form2:tt)*]]
	) => { ... };
    (@helper::delegate [&mut x.0] [$id:ident] [$fld:tt]) => { ... };
    (@helper::delegate     [&x.0] [$id:ident] [$fld:tt]) => { ... };
    (@helper::delegate      [x.0] [$id:ident] [$fld:tt]) => { ... };
    (@helper::delegate        [x] [$id:ident] [$fld:tt]) => { ... };
}

implementation detail, go away