essence_vec!() { /* proc-macro */ }Expand description
Parses a sequence of Essence expressions into a vector of Conjure AST instances
ยงExample
use conjure_cp::ast::{Atom, Expression, Moo, Metadata};
use conjure_cp::matrix_expr;
use conjure_cp_essence_macros::essence_vec;
let exprs = essence_vec!(2 + 2, false = true);
println!("{:?}", exprs);
assert_eq!(exprs.len(), 2);
assert_eq!(
exprs[0],
Expression::Sum(Metadata::new(), Moo::new(matrix_expr![
Expression::Atomic(Metadata::new(), 2.into()),
Expression::Atomic(Metadata::new(), 2.into())
]))
);
assert_eq!(
exprs[1],
Expression::Eq(Metadata::new(),
Moo::new(Expression::Atomic(Metadata::new(), false.into())),
Moo::new(Expression::Atomic(Metadata::new(), true.into()))
)
);