Macro xor

Source
macro_rules! xor {
    ($first: ty, $second: ty) => { ... };
    ($first: ty, $second: ty, $($rest: ty),+ $(,)?) => { ... };
}
Expand description

Given two or more predicates, composes them together with Xor.

For predicates P and Q, xor!(P, Q) is Xor<P, Q>.

For predicates P, Q, and R, xor!(P, Q, R) is Xor<P, Xor<Q, R>>.

Ad infinitum…