Oct. 10th, Thursday - 13:30 - 14:00

Proving macro expansion with expandable

Macros are a very powerful Rust feature. They allow developers to quickly and easily build domain-specific languages, with no runtime cost.

However, the Rust compiler does surprisingly few checks on macros. For instance, it happily accepts a macro whose expansion is not syntactically valid, which makes them hard to debug.

In this talk, we will see how expandable allows to check at compile time that a macro always expands to valid code and give a brief explanation under the hood.

Finally, we’ll see a few techniques expandable uses to generate excellent error messages.

Speaker

Sasha Pourcelot

Sasha is a software engineer living in the southeast of France. She has been writing Rust both as a hobby and as a professional developer for many years. Her work mostly consists of compiler and static analysis tool development. When she’s not doing computer things, she reads, climbs, or cooks delicious Italian food.

Sasha Pourcelot