Still not a fan of Rust. It took all of the worst patterns of C++ and made them safe, which results in something that’s familiar and “basically fine I guess” but extraordinarily annoying and frustrating to work with. All of the best practices for writing efficient and maintainable low-level code like avoiding allocations or branches are very awkward in Rust. It makes sense as a product of Mozilla which had one of the worst C++ code bases of all time deciding that the real problem of that code base was not architectural or structural but simply that managing all of those pointers manually was hard. In theory it should be possible to write clean Rust but none of the foundational crates are written that way. Async/await is easily the most frustrating aspect of the language and the community is determined to make everything async if it can. Compile times and resource consumption during compilation are terrible and kind of ruins the otherwise great tooling.