summaryrefslogtreecommitdiff
path: root/engine/src/util.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/util.rs')
-rw-r--r--engine/src/util.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/engine/src/util.rs b/engine/src/util.rs
new file mode 100644
index 0000000..021b2fe
--- /dev/null
+++ b/engine/src/util.rs
@@ -0,0 +1,24 @@
+macro_rules! try_option {
+ ($expr: expr) => {
+ match $expr {
+ Ok(value) => value,
+ Err(err) => {
+ return Some(Err(err));
+ }
+ }
+ };
+}
+
+pub(crate) use try_option;
+
+macro_rules! or {
+ (($($tt: tt)+) else ($($else_tt: tt)*)) => {
+ $($tt)+
+ };
+
+ (() else ($($else_tt: tt)*)) => {
+ $($else_tt)*
+ };
+}
+
+pub(crate) use or;