this post was submitted on 09 Jul 2026
16 points (72.2% liked)

Rust

8122 readers
90 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 3 years ago
MODERATORS
top 11 comments
sorted by: hot top controversial new old
[–] seadoo@lemmy.world 6 points 6 hours ago (1 children)

https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html

Commentary/blog post by Andrew Kelley (Zig creator) for perspective!

Very interesting achievement, and of course requires domain knowledge to implement (which you can’t get without experience!)

[–] trevor@lemmy.blahaj.zone 3 points 3 hours ago* (last edited 3 hours ago)

This should definitely be required follow-up reading, as it puts many of the Bun article's "too good to be true" claims into context.

The fact that the Bun author didn't know that Zig also has LTO really puts the rest of their claims into question.

[–] Melusine@tarte.nuage-libre.fr 6 points 12 hours ago

Honestly, if this is tge future for software engineers,, I'll leave the fields when I ma forced to do it.

[–] tyler@programming.dev 15 points 19 hours ago (2 children)

This Rust rewrite would've taken a team of engineers with full-context on the codebase a year of work

Doubt.

[–] SorteKanin@feddit.dk 9 points 12 hours ago (1 children)

I mean it was 600,000 lines of Zig prior to the rewrite yea? If we say that a team is ~6 people, that's 100,000 lines each to read through and translate. Assuming 250 working days in a year, that's 400 lines of code you just need to read every day, let alone the Rust you need to be writing (approximately another 400 lines).

Add to that overhead for planning and coordination... I actually think a year for a team might be an underestimate.

[–] TehPers@beehaw.org 4 points 8 hours ago

Zig's features don't map 1:1 to Rust's features, so translating line-by-line (or file-by-file) doesn't even make much sense. What are you supposed to do with a crazy comptime function full of reflection when translating that? What about custom pointer types (which Bun had to create for Rust), lifetimes, differences in ecosystem library APIs, etc?

The author actually mentions the challenges they ran into due to breaking the code up across multiple crates. They needed to break cyclic dependencies for it all to compile.

I agree. 1 year is an underestimate.

[–] pinguinu@lemmygrad.ml 8 points 19 hours ago

Maybe, but it wouldn't have 17000 unsafe clauses 😸

[–] TehPers@beehaw.org 13 points 19 hours ago (2 children)

There are a lot of ways to do a terrible job of this. For example, prompting Claude "Rewrite Bun in Rust. Don't make any mistakes." and then praying it would work is not [sic] what I did.

Adversarial workflows seems like an awesome strategy for burning tokens if your workplace uses a token leaderboard. I'm glad to see that someone discovered a way to game the system!

I'm really hoping that Boa can compete soon. I'd love an embeddable, Rust-based JS engine that isn't just AI generated unsafe everywhere. I don't think they plan to really fit into the same space as node/deno/bun, but we already have node for that, and an easier to use JS runtime from within Rust would be awesome.

[–] SorteKanin@feddit.dk 7 points 12 hours ago

Rust-based JS engine that isn’t just AI generated unsafe everywhere

Tbf only 4% of the code was unsafe after the rewrite, which is much better than the 100% of the Zig code being unsafe. Honestly it's not surprising you'd have such a large amount of unsafe when you translate Zig to Rust. But as I understand it, it's since been refactored to much less than 4%.

[–] xep@discuss.online 4 points 17 hours ago (1 children)

unsafe everywhere

Might as well use C at that point.

[–] TehPers@beehaw.org 5 points 16 hours ago

Eh if they're going to use C, they might as well give Zig a shot.