Macros are procedures that expand and generate raw source code before the rustc compiler begins its compilation step. We can spot macros in a Rust program in two different places:

Read further: https://doc.rust-lang.org/book/ch20-05-macros.html

Some useful attributes:

  • Debug
  • PartialEq
  • Eq
  • Copy
  • Clone