Macros

Macros are not new; we have already used them. Every time we called an expression that ended in an exclamation mark (!), we in fact called a built-in macro; the ! sign distinguishes it from a function. In our code up until now, we have already used the println!, the assert_eq!, the assert!, the panic!, the try! and the vec! macros.