Common Pitfalls of Rewriting Things In Rust
by Cliff L. Biffle
While a lot of systems code can be expressed easily in Rust, there are common patterns from C, C++, and Go that are just more effort to copy than they’re worth. I’ll go through some common cases, examine what properties of Rust make them harder to use, and evaluate alternative strategies that play more to the language’s strengths.
Expect appearances from: cycles in callback pointers; intrusive linked lists; virtual class hierarchies; and more
Cliff L. Biffle
he/himCliff likes code that is clear, maintainable, and very fast, and tools that let him achieve this. He’s been bludgeoning problems with Rust since 2015, with a particular focus on the bare-metal firmware, hardware simulation, and operating systems layers. He’s currently a firmware engineer at Oxide Computer, where he developed the Hubris operating system kernel.