Rust has a fairly robust Macro system. It helps us when we want to reduce the use of repeated code blocks, implement domain specific languages (DLS) and when we need to implement variadic interfaces (a function or expression that can take in variable amounts of arguments). Many common place expressions in Rust are actually macros that were implemented for the standard library, this includes the println! macro and the vec! macro. We could actually implement entire languages inside of Rust using the macro system and our code would keep all of the advantages that the Rust language brings to us (a nice example of this is the lisp macro that you see at the end of this video).
If you enjoy the video, feel free to follow me on Steemit or on YouTube to get updates on the channel as well as more content.
If you like what I do, tips and upvotes are welcome:
ETH: 0xE448a8DDA5886C49d35B191B2F20630c103024c8
LTC: LXsKxF5JhmMtKgqfcUFdvcXVwiaSqxN9cP