macro_rules! split_unique {
    (fn $fn:ident($in:ty) -> $out:ident) => { ... };
    (fn $fn:ident($in:ty) -> ($($out:tt)*)) => { ... };
    (pub fn $fn:ident($in:ty) -> $out:ident) => { ... };
    (pub fn $fn:ident($in:ty) -> ($($out:tt)*)) => { ... };
    (pub($($vis:tt)*) fn $fn:ident($in:ty) -> $out:ident) => { ... };
    (pub($($vis:tt)*) fn $fn:ident($in:ty) -> ($($out:tt)*)) => { ... };
    (@impl $fn:ident($in:ty) -> $out:ident $($vis:tt)*) => { ... };
    (@impl $fn:ident($in:ty) -> ($($out:ident),*) $($vis:tt)*) => { ... };
    (@impl $fn:ident($in:ty) -> ($($out:ident,)*) $($vis:tt)*) => { ... };
    (@define $in:ty => () $($vis:tt)*) => { ... };
    (@define
        $in:ty => ($out_first:ident $(, $out_rest:ident)* $(,)?) $($vis:tt)*
    ) => { ... };
}
Expand description

Splits a unique value into several others.