Ben Chuanlong Du's Blog

It is never too late to learn.

Develop Macros in Rust

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

Useful Crates for Macro Development

syn

Syn is a parsing library for parsing a stream of Rust tokens into a syntax tree of Rust source code.

quote

Quote provides the quote! macro for turning Rust syntax tree data structures into tokens of source code.

proc-macro2

proc-macro2 is a substitute implementation of the compiler's proc_macro API to decouple token-based libraries from the procedural macro use case.

syntactic-for

syntactic-for provides a syntactic "for" loop Rust macro.

Declarative Macros

In [ ]:
macro_rules! add{
    ($a:expr,$b:expr)=>{{
               $a+$b
    }}
}
In [ ]:
add!(2, 3)
In [ ]:

Comments