Macro impl_ops
Source macro_rules! impl_ops {
(@inner, $(#[$meta:meta])* [$($bound:tt)*]; $tr:ty, $rhs:ty, $a:ty, $f:expr, $fn:tt) => { ... };
(@inner_assign, $(#[$meta:meta])* [$($bound:tt)*]; $tr:ty, $rhs:ty, $a:ty, $f:expr, $fn:tt) => { ... };
($(#[$meta:meta])* [$($bound:tt)*]; $trait:ident for $a:ty, $f:expr) => { ... };
($(#[$meta:meta])* [$($bound:tt)*]; $trait:ident <$rhs:ty> for $a:ty, $f:expr) => { ... };
($(#[$meta:meta])* $trait:ident for $a:ty, $f:expr) => { ... };
($(#[$meta:meta])* $trait:ident <$rhs:ty> for $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; Add, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; Sub, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; Mul, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; Div, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; Rem, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; AddAssign, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; SubAssign, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; MulAssign, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; DivAssign, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; RemAssign, $rhs:ty, $a:ty, $f:expr) => { ... };
(@when $(#[$meta:meta])* [$($bound:tt)*]; Neg, $rhs:ty, $a:ty, $f:expr) => { ... };
}
Expand description
Add
, Sub
, Mul
, Div
, Rem
, AddAssign
, SubAssign
, MulAssign
, DivAssign
, RemAssign
, Neg
を実装する。