upvote
About 2 months, or 60 days, if we go by the old 90/10 rule.

Not sure that rule is even applicable anymore, but I don't have a better heuristic to make guesses by either.

reply
maybe its tokens instead of time now? bun has access to an unlimited amount of it
reply
> Now it needs to be put into shape so that all the unsafe blocks are eliminated

All the unsafe seems to be FFI?

https://github.com/search?q=repo%3Aoven-sh%2Fbun+unsafe+lang...

> and the code is turned into maintainable, readable, reasonably idiomatic Rust. I wonder how long is it going to take.

This isn't a c2rust rewrite?

reply
That GitHub search only covers the main branch, not the not-yet-merged Rust rewrite; the only Rust code in there is tests for Rust FFI (so that people can write native extension modules for Bun in Rust if they want to).

The rewrite's in https://github.com/oven-sh/bun/tree/claude/phase-a-port. By running the following command on it, I count about 14,000 unsafe blocks:

  rg --stats -g '*.rs' 'unsafe \{|unsafe impl|#!?\[unsafe\('
reply
I have not had time to look at the code myself, but from when this was initially posted to Reddit, IIRC it had around a thousand global mutable variables, which are unsafe to access.

I am very curious what the numbers are once the test suite passes and after a few passes of reducing the amount of unsafe.

reply
This is the kind of program that would need to have a lot of unsafe even if it had been written in Rust from the very beginning. For comparison, there are about 2600 unsafe blocks in Deno, not counting dependencies.
reply
[dead]
reply
deleted
reply