Parse paren and bracket macros in statement position as expressions
diff --git a/src/nom.rs b/src/nom.rs
index c20fb68..50a3381 100644
--- a/src/nom.rs
+++ b/src/nom.rs
@@ -61,12 +61,13 @@
};
}
+// This is actually nom's cond_with_error.
macro_rules! cond {
($i:expr, $cond:expr, $submac:ident!( $($args:tt)* )) => {
if $cond {
match $submac!($i, $($args)*) {
$crate::nom::IResult::Done(i, o) => $crate::nom::IResult::Done(i, ::std::option::Option::Some(o)),
- $crate::nom::IResult::Error => $crate::nom::IResult::Done($i, ::std::option::Option::None),
+ $crate::nom::IResult::Error => $crate::nom::IResult::Error,
}
} else {
$crate::nom::IResult::Done($i, ::std::option::Option::None)