Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc
Recent and related: Zig → Rust porting guide - https://news.ycombinator.com/item?id=48016880 - May 2026 (540 comments)
- legerdemain - 61990 sekunder sedanFrom 4 days ago: https://news.ycombinator.com/item?id=48019226
> I work on Bun and this is my branch > > This whole thread is an overreaction. 302 comments about code that does not work. We haven’t committed to rewriting. There’s a very high chance all this code gets thrown out completely. > > I’m curious to see what a working version of this looks, what it feels like, how it performs and if/how hard it’d be to get it to pass Bun’s test suite and be maintainable. I’d like to be able to compare a viable Rust version and a Zig version side by side. - mohsen1 - 60279 sekunder sedanVery impressive that they could do this so quickly because I have been on a similar project (porting TypeScript to Rust) for 5 months. But I guess I don't have access to Mythos and unlimited tokens. I'm also close to 100% pass rate. 99.6% at the time of writing.
Rust is perfect for writing all of code using LLM. It's strict type system makes is less likely to make very dumb mistakes that other languages might allow.
Also want to note that writing the code using LLM doesn't remove the need to have a vision for the design and tradeoffs you make as you build a project. So Jarred and his team are the right kind of people to be able to leverage LLMs to write huge amounts of code.
- Tiberium - 62339 sekunder sedanI just want to comment that I think it's a good change if we look past the AI involvement.
Bun has had an extremely high amount of crashes/memory bugs due to them using Zig, unlike Deno which is Rust.
Of course, if Bun's Rust port has tons of `unsafe`, it won't magically solve them all, but it'll still get better
- aurareturn - 90313 sekunder sedan6 days of work to do this. Even if it doesn't end up becoming meaningful, it shows just how tokens and work done will be linked now and in the future.
It's going to be hard to compete with someone or a company that has more compute. They will just be able to do things you can't.
- jwpapi - 49010 sekunder sedanCompletely unbased, but I don’t want to have to do anything with bun anymore. It’s just a gut feeling, but I don’t trust them and support them.
They fork Zig to utilize LLM rewrites and build something the Zig team clearly disregarded (non-deterministic compiling)
And now like a whiny baby they LLM rewrite to Rust. There is a very real chance that Zig design philosophy got them to the point where they are now by enforcing to make the tough but precise decisions and the Rust rewrite is the start of the downfall.
It’s purely politics-based not technical, but it seems like bun is full on pampered by Claude. So much that I wouldn’t wonder that the next marketing piece of Anthropic is. Claude Mythos rewrote leading 950k LOC JS Runtime to Rust.
- ksec - 78260 sekunder sedanI think a lot of people taking this at face value , a lot of this was possible because of the beyond standard extensive and comprehensive test suit previously built.
- ptnpzwqd - 652 sekunder sedanResponses seem to be very "either or" as usual on such topics.
I think it should be possible to appreciate how impressive this is on one hand, while also discussing the limitations of the approach.
Everyone can probably agree that getting this far without LLMs would have taken substantially longer and required a huge amount of work.
But what is then the end result?
Personally, for me it would still be hard pass on using a 1M LoC LLM-migrated language runtime - I have seen CC do enough crazy things to still be wary of any code without a human in the loop. It simply plays too fundamental a role in the tech stack. Others might feel differently, and time will tell how things play out.
Even if this does play out as optimistically as one can imagine, would it then mean I can go and migrate some of my enterprise codebases the same way? I doubt it.
Bun has the nice feature that it has an extensive set of black box / E2E tests that don't themselves need migrating. Most projects in the wild seem to be much more reliant on unit and integration tests that are part of the codebase itself, and would therefore also need to be migrated and be subject to mistakes in the migration process.
It also seems fairly rare that test suites are good enough to guarantee that the program will work as expected in all cases. I am yet to come across a larger enterprise codebase where the tests were good enough to make human review and even manual testing fully redundant. To be honest I doubt that is the case for Bun either, but I don't know enough about bun to conclude that.
- anilgulecha - 85831 sekunder sedanI think the industry is moving to English as the programming language, and specifications-context-tdd as the framework for building software.
Many find it distasteful, and many finding liberating. I think it's broadly correlates with how they feel about expressing themselves in english vs say C++.
As a side question, is there anyone who's using LLMs primarily in non-english mode to program? I suspect there's quite a few people using mandarin, but can someone share first-hand account.
- tmaly - 62212 sekunder sedanJust a cautionary case of porting to Rust using AI
https://blog.katanaquant.com/p/your-llm-doesnt-write-correct...
- spicyusername - 84830 sekunder sedanWhat a time to be alive.
So much of the fundamental dynamics of the industry and the job have changed in so little time. Basically over night.
Some days I am so excited at how much I can do now. You can build anything you want, in basically no time! 100% of my software dreams can be a reality.
Some days I am terrified at what's going to happen to the job market.
Suddenly you can get so much with so little. The world only needs so much software.
Is every company that sells software as their core business model going to go out of business?
What will happen if only certain companies or governments get access to the best models?
- afavour - 61198 sekunder sedanPresumably the biggest loser in all this is Zig, I only know of the language because of Bun.
But the timescale still gives me pause… just because AI lets us convert a codebase in 6 days doesn’t mean it’s wise. There are surely a lot of downstream implications! It’s always felt a little like Bun is making up a plan as it goes along (and maybe that’s unfair), this seems to underline the point.
- nine_k - 61834 sekunder sedan> 99.8% of bun’s pre-existing test suite passes on Linux x64 glibc in the rust rewrite
OK, they've got a working prototype, congrats! Now it needs to be put into shape so that all the unsafe blocks are eliminated (maybe with a few tiny exceptions), and the code is turned into maintainable, readable, reasonably idiomatic Rust.
I wonder how long is it going to take.
- Validark - 50809 sekunder sedanI'm a full time Zig developer, and I see this as an absolute win. I know Jarred has said in the past he feels Zig makes him more productive, but I also think it's fair to say Bun was programmed in a way that's quite cavalier towards buffer overruns. I think Jarred and the Oven team will have significantly better luck with Rust.
Some commenters have remarked they only heard of Zig because of Bun, therefore this is bad for Zig. Not so. In my opinion, there has always been a mismatch. I say with no ill will that a divorce is likely better for both parties. I genuinely believe Bun will be better software once fully converted to Rust.
- pulsartwin - 80978 sekunder sedanAt the very least, it's interesting to be a bystander observering as efforts like this progress. The first thing it makes me wonder is how comprehensive/high quality the test suite is to begin with. Not to cast aspersions, but even at 100% on all platforms I wonder how confident the Bun team would be in migrating.
- Robdel12 - 59207 sekunder sedanBun is going this route because their proposed fix wasn’t great. https://ziggit.dev/t/bun-s-zig-fork-got-4x-faster-compilatio...
Cannot imagine this agent rewrite had anyone review any the code (you can’t at that speed).
I’m positive this will go extremely well :p
- boring-human - 55317 sekunder sedanI harbor some hope that the (sad) fall of human SWEs will at least be accompanied by language defragmentation. We don't need 38 systems languages once human taste is mostly out of the picture.
- lujeni_ - 57173 sekunder sedanNo doubt on my side porting was "easy". What I’d find interesting is the ability to maintain and properly care for the code over time for the next iterations. Do we eventually end up with a codebase that nobody truly understands in depth anymore, where everything is generated and modified through GenAI?
Thanks for the sharing
- hsaliak - 2650 sekunder sedanIts going to be interesting to see how this holds up in production after a release or two.
- matt3210 - 38235 sekunder sedanGuys calm down, this is just marketing from anthropic the same as the browser and the c compiler.
- timcobb - 48492 sekunder sedanThe Ubutnu coreutils thing last week really soured me on 99.8% test compatibility Rust rewrites :|. I clicked through to the tweet linked here and it was kind of like shudder I feel quite opposite now when I see this kind of thing. I'm like *looking for exit*
- arjie - 58856 sekunder sedanThis is remarkable. Man, there are all those ancient things that "we've lost the source code for". One time, in a past job 10 years ago we were reimplementing something that was lost to the sands of time, using an out of date spec it had used. It was such a tedious job with verification but we got there. Amazing how easy that would be today.
- onlyrealcuzzo - 59893 sekunder sedanAnd here I am trying to get an LLM to add types to a 100k line Ruby repository for 2 days, and it's not going so hot...
- ec109685 - 53718 sekunder sedanThere is no way a port this massive will have human code reviews.
If this succeeds, there is no stopping AI given it will have crossed the rubicon of human bottlenecks.
- jFriedensreich - 25705 sekunder sedanI still don't understand how people consider bun as a viable runtime when its owned by evil corp trying to use it for capture of the tooling layer and its the most insecure runtime on top of that. Meanwhile deno is performant and has dramatically improved node compatibility while exposing a proper permission broker api.
- akagusu - 74954 sekunder sedanWhat does this mean for Zig?
Few big popular projects use Zig, if they start to move away from it, what Zig's future will look like?
- declan_roberts - 56746 sekunder sedanThe Pareto principle is in play here. It might take years to get that last percentage point.
- rererereferred - 74884 sekunder sedanThe branch in question: https://github.com/oven-sh/bun/compare/main...claude/phase-a...
- lousken - 85049 sekunder sedanGood enough for a side project, not good enough for transferring banking system from cobol
- dangoodmanUT - 54403 sekunder sedanIf this goes through, it feels like it will stoke rust on zig violence
- grigio - 52715 sekunder sedanSTOP Analyzing.. Now rewrite the Linux kernel in rust. DO NOT MAKE MISTAKES, then post it on Hacker News.
---
- AppAttestationz - 19162 sekunder sedanI suspect that the test suite isn't that great tho. Bun has so many different behaviors compared to other JS engines, sometimes just plain wrong or contradicting the spec. Test suite didnt catch those.. Not sure how much I trust the rewrite :)
- perlgeek - 13970 sekunder sedanHas anybody thought through the legal aspects of this, regarding code ownership?
As far as I understand the situation in the US (sorry, no idea where he is located), output from LLMs, once published, is essentially in the Public Domain, since there isn't any human who owns it.
However, in some sense, this is also a machine-assisted translation from one computer language into another, so one could argue that the ownership of the original code base still applies to the new one.
Which one is it? Is there any way to find out before a similar case goes to court?
- jedberg - 55326 sekunder sedanObviously there is a huge trend of "rewrite X in Rust". I understand why, Rust is a huge improvement in safety and speed.
My question is, to people even older than me (and I'm certainly not young), does anyone remember this much enthusiasm about people rewriting C code into (C++/Java/Whatever was new and hot)? Because I don't, but maybe I missed it.
- ALLTaken - 4465 sekunder sedanNow in Zig, Julia, Nim, Crystal. I just love programming languages.
But in all honesty, I don't understand the extremism in Rust engineers that reject any other language.
- FjordWarden - 39013 sekunder sedanI love Bun & Zig and this feels a bit like my parent are getting a divorce. I thought it was a bit strange that Bun did not sponsor the Zig foundation while others much smaller companies have.
- torben-friis - 60594 sekunder sedan>this is a 960,000 LOC rewrite, the code truly works, passing the test suite on Linux and soon other platforms
I wonder how much of this is original size vs rust requiring verbosity vs the LLM being verbose in general.
Not a criticism, I do believe language translation it's the one field that AI is mature enough to near one shot projects.
- mikebelanger - 52174 sekunder sedanInteresting that ports can be written so quickly with AI. But that aside, I have to ask...why? You want a super performant bundler/runtime/package manager written in rust with TS support, Deno has this already.
- CrzyLngPwd - 53308 sekunder sedanI'm looking forward to the race to the bottom in the tokens-for-work-done race.
- - 59394 sekunder sedan
- taosx - 50814 sekunder sedanThat's amazing, over time I got a few memory related crashes w/ bun but have deep respect for the performance work put in. Hopefully Rust's compiler will help even more.
Off: I'm wondering if now when more JS finds place on our machines and bundle size is 2nd place for most, would a revival of prepack or projects in the same vein would be worth it, especially with agents.
- voidhorse - 48399 sekunder sedanSo let me get this straight:
Developers use LLMs to migrate a million line codebase to a language that they have much less experience with in such a short amount of time that they likely do not have a good mental model of the migrates code.
At least the tests pass.
Only one person drove the migration, so the number of people that understand the new code is ~0.5 under the assumption there's no way the sole dev could build a mental model of fresh 1m code in 6 days.
This is code for a language runtime.
It's great that the tests pass but it's really hard for me to interpret this as anything other than horrible mismanagement of a promising project. When you sit this low in the stack this is grossly irresponsible and I have no idea why anyone would use Bun after this. You'd be literally adopting a runtime the devs presumably don't understand, keep in mind they now somehow need to evolve and maintain this in the future.
Hopefully this remains an experiment, or Bun has some plan for re-upping dev knowledge of the codebase. Sorry but a component with massive blast radius like a runtime isn't really a good candidate for vibe coding, no matter how good the AI is. I'd like the maintainers to actually understand their runtime, thanks.
- fastball - 55468 sekunder sedanObviously bun having been acquired by Anthropic changes the arithmetic a bit, but I'd love to see the token cost/consumption of this initiative.
- Twey - 48057 sekunder sedanWere there perhaps [licensing issues](https://www.phoronix.com/news/Chardet-LLM-Rewrite-Relicense) with the original?
- kombine - 16435 sekunder sedanThey could also do a rewrite of CC itself to Rust.
- languid-photic - 56945 sekunder sedanwould be fun to do zig -> rust -> zig and to measure the delta
(in a VAE-ish way, kl div on the embeddings?)
- pbohun - 59987 sekunder sedanHow many tokens did this port consume?
- - 49509 sekunder sedan
- suck-my-spez - 54458 sekunder sedanSerious question… Who’s going to want to run a vibe coded runtime in production?
I don’t see how this is a good look for Bun?
- perching_aix - 58963 sekunder sedan> and crashes and stability issues
inb4 .unwrap() / slice / etc hell + livelocks & deadlocks + resource leaks & toctou bugs + larger exposure to supply chain attacks
Still, ~1M LOC ported in a work week (400 LOC/min, wtf?) and almost all of it working is pretty wild. I hope the guy managed to maintain normal function, cause I found that getting into the flow but with AI is even more self-consuming and intoxicating than without it, which was already potentially rather rough.
- 0-bad-sectors - 78595 sekunder sedanInteresting! I wonder how the performance is compared to the Zig version
- mjtk - 45378 sekunder sedanThe flagship product is both the cash cow (subsidizes rewrite) AND the labor (amortizes? rewrite).
- m4rtink - 80539 sekunder sedanWhat license is this ? Let me guess, its is no GPL...
- pdhborges - 61308 sekunder sedanCurious how the test suite was applied. Was it ported from Zig to Rust beforehand?
- dlenski - 59891 sekunder sedanDeleted
- timetraveller26 - 61877 sekunder sedan3 years from now: Linux ported to Rust in 6 days.
And on the seventh day Claude ended His work which He had done, and He rested on the seventh day from all His work which He had done
- arto - 59654 sekunder sedanThe fastest large-scale rewrite in the history of software engineering, likely
- hacker_88 - 50323 sekunder sedanMerge with Deno
- matrix12 - 53481 sekunder sedanwill this mean opencode is finally portable?
- Amber-chen - 39254 sekunder sedanThis is a good reminder that tooling choices compound over time. The short-term speedup matters less than whether the next maintainer can still reason about the system.
- sourcegrift - 46442 sekunder sedanDo scala.js next
- AtNightWeCode - 55230 sekunder sedanKinda crazy to use AI to switch from zig to rust in a tool that runs js. Bin bun and use a real lang to begin with. No reason to have that extra layer anymore.
- amai - 55416 sekunder sedanBunner
- born-jre - 61359 sekunder sedanBeing anthropic accuired project does he have access to mythos or it’s normal Claude we plebs have access to
- the__alchemist - 51347 sekunder sedanBun alert!
- ekjhgkejhgk - 58479 sekunder sedanExplain it for dummies. Isn't Zig a programming language? Why are they re-writting a programming language in another programming language?
- up2isomorphism - 42996 sekunder sedanbest way to kill an open source project in 2025 - use AI to port it to Rust.
- sergiotapia - 54892 sekunder sedanjared's post is singlehandedly shitting on Zig's reputation. not good juju for him to post like that.
"I am so tired of worrying about & spending lots of time fixing memory leaks and crashes and stability issues"
bun was zig's poster child. if it moves away, it becomes yet another random language like nim or crystal.
- BLACKCRAB - 14109 sekunder sedan[dead]
- chenzhekl - 15105 sekunder sedan[dead]
- Ati985 - 22685 sekunder sedan[dead]
- lerp-io - 59743 sekunder sedan[flagged]
- Jimmy0252 - 45482 sekunder sedan[dead]
- marsven_422 - 23734 sekunder sedan[dead]
- redsocksfan45 - 59814 sekunder sedan[dead]
- jdw64 - 54189 sekunder sedan[dead]
- black_13 - 89912 sekunder sedan[dead]
- rvz - 91343 sekunder sedan[flagged]
- roschdal - 54072 sekunder sedanMeh. I prefer Java, all hours of the day, every day of the week.
- parliament32 - 60277 sekunder sedanEw
- pjmlp - 60743 sekunder sedan> why: I am so tired of worrying about & spending lots of time fixing memory leaks and crashes and stability issues. it would be so nice if the language provided more powerful tools for preventing these things.
As expected, Modula-2 / Objective Pascal like safety was great during the last century, before automatic resource management, and improved type system became common in this century.
Naturally also have to note, wasn't this supposed to be only an experiment, nothing serious?
- heldrida - 93982 sekunder sedanAn update on Bun’s experimental migration from Zig to Rust:
The Rust rewrite now passes 99.8% of Bun’s pre-existing Linux x64 glibc test suite.
Nördnytt! 🤓