rustproof-libsmt 0.1.0

Rust bindings for z3 as utilized by RustProof.
Documentation
//! Macro helpers for defining theories

#[macro_export]
macro_rules! impl_smt_node {
    ($fns: ty, define vars [$($variant: pat),*], define consts [$($c: pat),*]) => {
        impl SMTNode for $fns {
            fn is_var(&self) -> bool {
                match *self {
                $(
                    $variant => true,
                 )*
                    _ => false,
                }
            }

            fn is_const(&self) -> bool {
                match *self {
                $(
                    $c => true,
                )*
                    _ => false,
                }
            }
        }
    }
}