It turns out that Advent Of Code has been a great tool for learning Rust. I was able to solve the Day 23 puzzle building a pseudo linked list using indices, but a true linked list might have performed slightly better. Unfortunately, it appears that there is no good way to build linked lists in Rust without using unsafe pointers. I wanted to see how Rust’s std library implements btrees as a model, which lead me to learning about Phantom Data and ultimately led me to “The Rustonomicon: The Dark Arts of Unsafe Rust.” It’s good to know that, deep under Rust, good old memory management isn’t dead yet.
