1. Create a eval macro in rust which evaluates an expression given to it
macro_rules! eval {
    ($expr: expr) => {
        $expr
    };
}

fn main() {
	let ans = eval!(2 + 3 * 5);
	println!("{}", ans);
}
  1. Create a vector macro in rust that returns a new vector
macro_rules! vector {
    ( $( $x:expr ),* ) => {
        {
            let mut temp_vec = Vec::new();
            $(
                temp_vec.push($x);
            )*
            temp_vec
        }
    };
}

fn main() {
	let ans = vector!(1, 2, 3);
	println!("{}", ans[0]);
}