Rust logo
Rust 1.42.0


There is a new edition of the book and this is an old link.

While functions and types abstract over code, macros abstract at a syntactic level.

macro_rules! five_times {
    ($x:expr) => (5 * $x);

fn main() {
    assert_eq!(25, five_times!(2 + 3));

Here are the relevant sections in the new and old books: