This session we will delve into the sometimes murky world of procedural macros - showing some of the great tooling available for understanding the code generated, such as cargo expand, and the key building blocks we will need for writing our own.
In 2024, I added the `Option::as_slice` and `Option::as_mut_slice` methods to libcore. This talk is about what motivated the addition, and looks into the no less than 4 different implementations that made up the methods. It also shows that even without a deep understanding of all compiler internals, it is possible to add changes both to the compiler and standard library.
The talk explores how Rust’s type system and memory safety can be leveraged to enforce mandatory guardrails at the infrastructure level, where traditional frameworks often fall short.
This talk explores what it means to write scientific software that lives up to the standards we expect of science itself.