#[macro_export]
macro_rules! want {
{ $variant:ident = $input:expr,
- ?($($d:expr),*)
+ ? $($d:expr),*
} => (
match $input {
$variant(y) => Some(y),
);
{ $variant:ident = $input:expr } => {
want!( $variant = $input,
- ?() )
+ ? )
};
}
#[macro_export]
macro_rules! want_let {
{ $variant:ident($binding:pat) = $input:expr;
- else ?($($d:expr),*) $($otherwise:tt)*
+ else ? $($d:expr),*; $($otherwise:tt)*
} => {
let $binding = match $input {
$variant(y) => y,
{ $variant:ident($binding:pat) = $input:expr;
else $($otherwise:tt)*
} => {
- want_let!{ $variant($binding) = $input; ?(); $($otherwise:tt)* }
+ want_let!{ $variant($binding) = $input; ?; $($otherwise)* }
};
}