🦀 Compiler Survey Results Are Shocking
Today’s Issue: How Rust Won, crates.io Phishing Campaign, and Improving State Machine Codegen
Hello, Rustaceans
I hope you’re doing great and staying stress-free. Let’s jump in!
In this issue, we'll highlight the results from the compiler performance survey, present a Q&A interview, spotlight an amazing Rust project, and share 10 incredible links of the week.
Here’s issue 84 for you!
MAIN NEWS
🦀 Compiler Survey Results Are Shocking
Last week Apple released their annual parade of shiny rectangles. Faster chips, brighter screens, and some AI fairy dust sprinkled on top, nothing too shocking, but hey, at least your iMessage bubbles will now autocorrect in machine-learned elegance.
Meanwhile, in Rust-land, the spotlight isn’t on shiny hardware, but on something we’ve all complained about at least once: compile times.
Two months ago, the Rust Compiler Performance Working Group launched a survey with the aim of understanding the pain points of compiler performance and get a sense of where improvements are most needed. The results are out, and the findings are equal parts ‘not so bad’ and ‘how are we still here?’
Over 3,700 developers chimed in, with an average satisfaction rating of a lukewarm 6 out of 10. Not terrible, but also far from fast or seamless.
First, the good news:
On average, Rust devs gave build performance a solid 6/10, with a surprising number of people saying it’s not even a problem anymore. Compared to C++, Rust looks like it’s on rocket fuel, and soon the default Linux target will ship with the faster LLD linker shaving precious seconds off your compile purgatory. IDE tools like Rust Analyzer are also getting smarter caching, which means less waiting around for squiggly red lines to catch up with your brain. Nice.
Now the not-so-good news:
A whopping 55% of devs wait more than 10 seconds for an incremental rebuild. That might not sound like much, but stack a few of those and suddenly the numbers pile up. Worse, 45% of ex-Rustaceans blamed slow builds as one reason they ditched the language. Ouch.
Clean builds and CI are another pain point, with about 20–25% calling them blockers and here’s the kicker, over a third of those folks don’t even use caching in CI. Defaults matter, people!
And then there’s the real kicker, almost half of respondents admitted they’ve never tried to speed up their builds at all. Not a linker switch, not a debuginfo tweak, nothing. Which might explain why those same folks actually report higher satisfaction. Ignorance is bliss right?
So, where does that leave us? The Rust team are working on a performance guide to spread awareness about easy wins (like using mold/LLD linkers or toning down debuginfo), and they’re working long-term on heavy hitters like incremental linking and parallel frontends.
In other words, progress is happening though it might be slow in coming.
RUST Q&A INTERVIEW 🦀
Q: What excites you most about Rust’s future in the next 5 years?
A: ‘What I'm excited the most about Rust in the upcoming years is its potential to take over a lot of foundational software and the potential it has to make these things faster, safer and more efficient in general.
Would be really interesting to see its development in the upcoming years in critical software like OSes, embedded systems, automotive, aerospacial, browsers, servers, cryptography, security tools and protocols, health and medical devices, in the financial industry, in AI, and so many more interesting use cases. I envision a very promising future for Rust.’
About the Respondent: Santiago Pastorino is a @rust-lang compiler team contributor and @rails core team alumni. Working on @rust-lang for @futurewei-tech. @wyeworks co-founder.
Connect with Santiago: X, Blog, GitHub.
Help Us Improve Rust Bytes
We just launched a short survey to better understand your needs and how we can make Rust Bytes even more useful (and fun) for you.
Your feedback means a lot, take a minute to share your thoughts.
PROJECT SPOTLIGHT 💡
Nutype
Nutype is a proc macro that allows adding extra constraints like sanitization and validation to the regular newtype pattern. The generated code makes it impossible to instantiate a value without passing the checks. It works this way even with serde
deserialization.
So what problem is Nutype solving? In short: correctness without boilerplate.
Instead of littering your codebase with hand-rolled validators and ‘just-trust-me’ constructors, Nutype enforces invariants at compile time.
It even keeps those guarantees intact with Serde, so deserialization doesn’t turn into a free-for-all of invalid data.
Here’s what makes Nutype a standout:
Built-in sanitizers and validators - Trim whitespace, enforce length, regex-check, or roll your own.
Error enums on autopilot - Every failed validation gets its own error variant, generated for you. No more shrugging at
None
.Trait derivations done right - Need
Debug
,Clone
, or evenSerialize
? Just say the word (well, macro attribute).Unsafe escape hatch - You can bypass the rules with
new_unchecked
, but Nutype makes sure you feel dirty doing it.
If you like your domain models type-safe, expressive, and a little bossy, Nutype is the kind of crate you should consider.
Check out Nutype on GitHub at https://github.com/greyblake/nutype.
AWESOME LINKS OF THE WEEK 🔗
Rust’s Program management update for August 2025 is out highlighting leadership elections, language feature proposals, Linux kernel efforts, new content initiatives, and conferences. Also Rust Security Response Working Group flagged a fake ‘Rust Foundation’ phishing stunt.
Trifecta Tech Foundation wrote about ‘Improving state machine codegen’, showing how Rust’s new
#[loop_match]
cuts useless jumps, boosts speed, and proves that weird syntax can be worth it.Will Kwan has released flo, a fast Vulkan-based 3D renderer integrated with the Bevy game engine.
Raph Levien gave a talk on ‘How Rust Won: The Quest for Performant, Reliable Software,’ discussing how the language’s success came not just from a clever idea, but from consistent execution and a strong community. [video]
Vladimir shows how async cancellation in Rust can drop mutex guards while blocking threads keep running, causing rare data races which he fixes by passing owned guards to spawned tasks.
Andromeda is yet another modern, fast, and secure JavaScript and TypeScript runtime built in Rust.
Jayden Qi gave a talk on task switching in Rust, demonstrating how modern operating systems depend on task-switching mechanisms and how it can be implemented in Rust. [video]
Rust DC’s virtual event is happening on the 16th (tomorrow). If you’re in the DC area, make plans, and don’t miss Mid-Month Rustful!
The RustConf team would love your feedback on the recently concluded RustConf 2025. If you attended, please take a moment to share your thoughts.
GitLab wrote how its CI/CD, security scanning, docs, and AI tools ensures secure, efficient Rust development.
CodeCrafters: Become a Better Rust Engineer
CodeCrafters created amazing Rust courses that push your skills beyond the basics.
You’ll have fun building real-world projects from scratch, including Git, Docker, Redis, Kafka, SQLite, Grep, BitTorrent, HTTP Server, an Interpreter, and DNS.
The courses are self-paced, so you can learn at your own speed. If you’re itching to level up your Rust skills, these courses are perfect for you.
Join for free and get 40% off when you upgrade. [affiliate]
SUPPORT RUST BYTES
You’re Rust Bytes’ biggest fans, and we love to see it.
Here’s how you can help:
❤️ Recommend Rust Bytes to your friends.
🤳 Connect with us on our socials: X, BlueSky, Mastodon, Publication.
☕️ Buy our editors a coffee.
📨 Email us at rustaceanseditors@gmail.com for sponsorship, feedback or ideas.
We are almost through the year, and I’ve been looking at my yearly goals and what I need to tick off before it ends. I hope you hit your yearly goals.
That's all for now, Rustaceans.
John & Elley.