- PR #30412 adalah perubahan untuk menulis ulang Bun dalam Rust, dan pada 14 Mei 2026 di-merge dari branch
claude/phase-a-port ke main
- Skala perubahannya tercatat sebesar 6.755 commit, 2.188 file, dan
+1,009,257/-4,024 baris
- Jarred-Sumner menyatakan bahwa tulisan blog berisi detail lengkap akan segera terbit
- Perubahan ini dijelaskan telah meloloskan test suite Bun yang ada di semua platform, serta memperbaiki beberapa kebocoran memori dan test yang tidak stabil
- Ukuran biner berkurang 3MB~8MB, dan benchmark disebut netral atau berada di kisaran yang lebih cepat
- Sebagai alasan terpenting, dijelaskan bahwa bug memori yang selama bertahun-tahun menghabiskan banyak waktu pengembangan dan debugging tim kini bisa ditangkap dan dicegah dengan alat bantu compiler
- Dijelaskan bahwa codebase pada umumnya tetap sama, dan arsitektur serta struktur data juga dipertahankan
- Bun masih menggunakan sedikit library pihak ketiga, dan secara eksplisit disebutkan tidak menggunakan async Rust
- Pengguna dapat mencoba perubahan ini dengan
bun upgrade --canary
- Jarred-Sumner meminta agar issue dilaporkan jika muncul masalah, dan menyatakan thread bisa dikunci bila diskusinya memanas
- Masih ada pekerjaan optimasi yang tersisa sebelum masuk ke versi non-canary
- Pekerjaan perapian juga masih tersisa, dan ini direncanakan berjalan sebagai rangkaian PR lanjutan
4 komentar
Wow, PR sejuta baris di-merge. Dari Zig ke Rust langsung pindah sekaligus ya.
Tadi bilangnya belum tahu ini bakal di-merge atau tidak~~, eh cuma seminggu kemudian langsung ganti bahasa sekaligus pada kode yang tadinya berjalan dengan baik, haha
Rasanya seperti ada sesuatu yang monumental terjadi gara-gara AI-assisted coding.
Serius, katanya ini cuma buat uji coba dan kemungkinan besar juga tidak akan dipakai.
Karena tidak dilakukan di Zig, langsung pindah ke Rust dengan keberanian segila itu wkwk
Komentar Hacker News
Jika dalam pengumuman dikatakan rewrite ini memakan waktu 1 minggu, jadi penasaran berapa lama yang dibutuhkan untuk menyiapkan berkas panduan yang sangat rinci ini untuk memetakan idiom Zig ke idiom Rust: https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd573...
Selain itu, jika melihat bagian
Pointers & ownershipdanCollections, codebase Bun tampaknya sudah menggunakan tipe smart pointer internal agar siap dipetakan 1:1 ke padanan Rust, dan crate Rustbun_collectionsjuga sudah adaRewrite ini tampaknya sudah dipersiapkan sejak lama, dan seperti sesuatu yang diajukan tim Bun saat negosiasi akuisisi dengan Anthropic
Uang yang terlibat terlalu besar, jadi jelas ada insentif untuk menyusupkan buzzer marketing ke komunitas, dan sebagian orang juga cuma terjebak logika kubu
Karena Anthropic sekarang memiliki Bun, mereka juga punya cukup banyak insentif untuk membuat pekerjaan ini tampak lebih mudah daripada kenyataannya
Skala output-nya sangat besar, jadi tampaknya ada efek pengganda di sini
Tapi saya juga penasaran berapa banyak pengetahuan implisit yang dibutuhkan untuk membuat aturan ini, dan seberapa banyak file ini diiterasi dan diperbaiki
Misalnya, saya ingin tahu berapa banyak aturan ini yang berasal dari kasus kegagalan yang ditemui selama proses iterasi translasi
using internal smart pointer types that map 1-to-1 to Rust equivalents, tapi smart pointer bukan diciptakan oleh RustKalau menulis kode dalam bahasa lain yang punya pointer, Anda sudah memodelkan tipe-tipe yang sama di kepala Anda
Dan pernyataan bahwa crate Rust
bun_collectionssudah ada itu juga salahItu hanya bagian dari PR codebase ini, bukan sesuatu yang sudah ada sebelumnya
Sangat mudah untuk mengurangi kecurigaan dan sekaligus memanaskan suasana IPO: cukup buka repositori terpisah untuk pekerjaan tersembunyi yang memang dibutuhkan untuk mendorong AI ini, lalu biarkan semua orang mereproduksi hasilnya
Bukankah yang ingin dicapai pelanggan pada akhirnya juga kode 1 juta baris yang bisa dipakai dalam “7 hari”
Semua orang bisa mencoba mereproduksinya dalam workflow mereka sendiri, dan metrik penggunaan Anthropic juga akan naik
Kalau hasilnya benar-benar sekeren itu, rasanya mereka akan mulai dari sebuah posting blog lengkap dengan tautan dan instruksi
Mungkin saat ini posting blog itu sedang ditulis dan saya akan terbukti salah
Apakah itu inti dari teori konspirasinya
bun_collectionsjuga tidak terlihat jauh lebih tua daripada panduan porting itu+1009257 -4024, jadi sekarang Bun punya 1 juta baris kode RustUkurannya mulai mendekati compiler Rust itu sendiri
Meski begitu, BunJS pada dasarnya lebih mirip wrapper interpreter JavaScript dan reimplementasi library NodeJS, yaitu hampir seperti wrapper library standar Rust
BunJS tampaknya mulai menjadi semacam kanaria untuk pengelolaan kompleksitas perangkat lunak di era LLM
mostly a JavaScript interpreter wrappertidak akuratBun adalah transpiler (parser) JavaScript dan CSS dengan baterai lengkap, minifier, bundler, package manager seperti npm, test runner seperti Jest, dan juga punya API runtime seperti klien Postgres, MySQL, dan Redis bawaan
Wajar kalau jumlah kodenya jadi sangat besar
Bun memakai JavaScriptCore sebagai mesin JS, jadi Bun sendiri tidak melakukan, atau setidaknya seharusnya tidak melakukan, parsing, interpretasi, dan JIT JavaScript
Edit: saya salah baca. Tertulis “JavaScript interpreter wrapper”, jadi itu memang deskripsi yang tepat
+di depan atau ada faktor lain, tapi di seluler perubahan jumlah baris jadi bergaris bawah dan bisa ditekan untuk meneleponKalau itu gara-gara ukuran diff, lumayan lucu juga
Jadi hasil rewrite yang keluar dengan LOC serupa bukan hal yang aneh
Hasil
$ rg 'unsafe [{]' src/ | wc -ladalah 10428, dan hasil$ rg 'unsafe [{]' src/ -l | wc -ladalah 736Per bahasa: Rust 1443 file 929213 baris, Zig 1298 file 711112 baris, TypeScript 2604 file 654684 baris, JavaScript 4370 file 364928 baris, C 111 file 305123 baris, C++ 586 file 262475 baris, dan C Header 779 file 100979 baris
Bagaimana cara mencari kode tidak aman di Zig?
Atau kita cuma harus menganggap itu ada di mana-mana
unsafe, ini tidak terlihat seperti rewrite yang bagusKalau hampir setengah kode masih unsafe, apa gunanya menulis ulang ke Rust
Yang ada di rumah:
10428Kami masih menulis posting blog yang membahas ini, dan akan membagikan lebih banyak detail
Kalau Anda penasaran dengan latar belakangnya, lihat daftar perbaikan bug di catatan rilis Bun v1.3.14 dan rilis-rilis sebelumnya
Rust tidak akan menangkap semuanya. Kebocoran yang terjadi karena menahan referensi terlalu lama atau masalah reentrancy saat melintasi boundary JS tetap menjadi tanggung jawab kami
Tapi sebagian besar dari daftar itu adalah use-after-free, double-free, dan lupa membebaskan pada jalur error, dan hal-hal seperti itu akan menjadi error kompilasi atau berubah menjadi pembersihan otomatis
I work on Bun and this is my branchThis 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.Mungkin ini memang bukan overreaction?
[0]: https://news.ycombinator.com/item?id=48019226
Saya penasaran apakah ada rencana untuk menjalankan biner Zig dan Rust berdampingan pada berbagai aplikasi dunia nyata, atau kalau memungkinkan melakukan shadow run di produksi, demi menyaring bug
Apakah bisa memberi perkiraan kasar
Saya juga ingin tahu rencana konkret untuk merilis ini tanpa merusak workflow pengguna
Sekitar 9 hari lalu Jarred menulis bahwa sama sekali belum pasti ini akan di-merge dan bahwa reaksi ini berlebihan
Ironis sekali
Bayangkan kegaduhan yang akan terjadi jika Linus mengatakan dia tidak akan menulis ulang kernel Linux lalu suatu hari bangun dan menggabungkan seluruh rewrite Rust berbantuan mesin
Sudah jelas dia harus membenarkan biaya token yang dikeluarkan
Wah, ini akan menarik untuk diikuti
Tidak mungkin kode ini sudah direview, tapi mungkin kita sekarang sudah masuk ke era pasca-manusia di mana model bisa dipercaya untuk menulis dan mereview kode
Ini seperti Gastown, hanya saja terjadi pada proyek yang jauh lebih terkenal
Menarik melihat bagaimana proyek ini nanti bisa menambahkan fitur baru, atau apakah itu masih mungkin dilakukan
Ada yang tahu sebenarnya Anthropic memakai Bun untuk apa?
Apakah ini bagian dari Claude Code?
Saya jadi cukup khawatir memakai Bun ke depan, walau saya kurang tahu sejauh mana kekhawatiran itu juga berlaku ke penggunaan Claude
Kalau Anda tidak bisa mempercayai test suite untuk menangkap translasi bahasa otomatis, maka sejak awal Anda memang tidak bisa mempercayai test suite itu sama sekali :)
Sebenarnya saya antusias melihat eksperimen translasi otomatis, tapi saya khawatir akan banyak muncul masalah kompatibilitas ke belakang
Saya mulai melihat commit-nya, dan pada dasarnya masalah “tes tidak lolos” diselesaikan dengan mengubah tes itu sendiri
Pekerjaan nyata untuk membuatnya benar-benar berjalan di program yang sudah terpasang sekarang barulah dimulai
Untungnya, entah kenapa komunitas JS server-side tampaknya sudah terbiasa dengan seringnya perubahan yang merusak
Tapi kalau ini benar-benar bekerja tanpa masalah besar, itu akan sangat mengejutkan
GPT/Codex lebih jujur dalam hal ini
Saya skeptis pada seluruh rewrite ini, dan Jarred Sumner punya pengikut internet yang sangat besar sehingga ini terasa seperti iklan
Hebat! Tinggal tambahkan
sleep(1)secara sembarang ke tes. Tenang saja, semua akan baik-baik saja!Beberapa proyek saya yang memakai Bun akan saya pindahkan ke hal lain
Saya tidak percaya pada tata kelola yang membiarkan perubahan nekat seperti ini
Dari awal sudah ditulis dengan baik, jadi tidak perlu di-rewrite
Di sisi lain, akan menarik melihat bagaimana baptisan api ini berjalan, dan dalam jangka panjang rasanya masalah-masalahnya pada akhirnya akan terselesaikan juga
Ada thread yang layak dilihat sebagai bahan pembelajaran. Seminggu lalu Jarred lagi-lagi menjaga jarak dari keputusan merge, sementara banyak pasukan pejalan kaki menyerang orang-orang yang memprediksi ini akan segera di-merge:
https://news.ycombinator.com/item?id=48073680
Kalau dilihat sekarang, ucapan itu jelas tidak bertahan dengan baik, ya?
Kalau ini sedikit saja salah, ejekan bahwa mereka bandar narkoba yang mabuk barang sendiri akan berlangsung tanpa akhir dan terasa muram
Sudah baca makalah Mythos? Antropomorfismenya benar-benar parah
Mungkin itu cuma cari perhatian murahan, tapi kalau mereka benar-benar percaya LLM itu punya kesadaran… wow