March 2018
Intermediate to advanced
272 pages
7h 4m
English
Since Rust 1.0, we have had a great macro system. Macros allow us to apply some code to multiple types or expressions, as they work by expanding themselves at compile time. This means that when you use a macro, you are effectively writing a lot of code before the actual compilation starts. This has two main benefits, first, the codebase can be easier to maintain by being smaller and reusing code, and second, since macros expand before starting the creation of object code, you can abstract at the syntactic level.
For example, you can have a function like this one:
fn add_one(input: u32) -> u32 { input + 1}
This function restricts the input to u32 types and the return type to u32. We could add some more accepted ...
Read now
Unlock full access