macro_rules! new_selector {
(
$(
$(#[$meta: meta])*
$(-($($r:tt)*)[$class1: ident $($sel1:tt)*])?
$(+($($r2:tt)*)[$class2: ident $($sel2:tt)*])?
unsafe extern "C" fn $name: ident ($($arg:ident: $ty: ty),* $(,)?) $(->$ret:ty)? $body: block
)*
) => { ... };
}