Bun migre de Zig vers Rust avec Claude : un million de lignes en 11 jours, sous le feu des critiques
D'après Annonce de Jarred Sumner (X), relayé par The Decoder
Rédigé à partir de la source originale; chaque fait est vérifié contre le texte source.
À retenir
- Bun, le moteur JavaScript/TypeScript concurrent de Node.js, a migré son code de Zig vers Rust : environ 960 000 lignes annoncées par Jarred Sumner, puis 1 009 257 lignes ajoutées lors de la fusion dans la branche principale le 14 mai 2026.
- La migration a mobilisé environ 50 à 64 agents Claude en parallèle pendant 11 jours, pour un coût estimé à environ 165 000 dollars US en équivalent API, selon The Decoder.
- L'objectif annoncé était la fiabilité : la gestion manuelle de la mémoire en Zig causait des bogues récurrents (use-after-free, double-free), que le modèle de propriété de Rust vise à détecter dès la compilation.
- Le résultat contiendrait toutefois plus de 10 000 blocs « unsafe », ce qui limite la portée réelle du gain de sécurité mémoire promis par Rust, selon les critiques relayées par The Register.
- Andrew Kelley, créateur de Zig, a qualifié le résultat de « unreviewed slop » (bouillie non révisée), objectant qu'une suite de tests jugée insuffisante pour Zig ne peut pas soudainement valider un million de lignes générées sans révision humaine.
Pourquoi ça compte
Ce cas illustre à la fois le potentiel et les limites des agents IA pour des migrations logicielles massives : le volume de code généré et la vitesse sont réels, mais les critiques d'expert montrent que réussir les tests ne prouve pas qu'un code est sûr ou révisé, un enjeu direct pour quiconque envisage une réécriture assistée par IA à grande échelle.
Chiffre-clé
La fusion du code Rust dans la branche principale de Bun, le 14 mai 2026, a ajouté 1 009 257 lignes en 6 755 commits, selon le bilan technique publié par Mergify.
Citation
« It's not sufficient to catch bugs in Zig code but it is sufficient to catch bugs in [a] million lines of unreviewed slop? » Andrew Kelley, créateur du langage Zig
Action concrète
Avant d'envisager une réécriture assistée par IA à grande échelle, s'assurer d'avoir une suite de tests exhaustive ET une révision humaine ciblée des sections critiques (gestion mémoire, chemins d'erreur), car des tests qui passent ne garantissent pas l'absence de bogues non couverts.
Sources originale et média
Sources
- Annonce de Jarred Sumner (X) : Annonce initiale avant fusion, chiffre de 960 000 lignes
- Bilan technique de la fusion (Mergify) : Post-mortem détaillé du PR : lignes ajoutées, commits, fichiers
- Critique d'Andrew Kelley, créateur de Zig (The Register) : Qualifie le résultat de code non révisé, objecte sur la suffisance des tests
- The Decoder : Article relais qui synthétise l'annonce, les chiffres et le contexte
- Relais média : The Decoder → · Lire en français
🔧 Outils mentionnés