Rust añade #[inline] a las implementaciones derivadas, y eso puede inflar el binario

Rust's derive often implies inline

En Rust, #[derive(Debug)] y otras derivaciones generan métodos marcados con #[inline]. Aunque suele ser beneficioso, en jerarquías de errores anidadas el código inlineado puede crecer mucho: en uv, evitar el inline de una implementación de Debug redujo el binario en unos 160KB. rustc no parece limitar el tamaño o la frecuencia de estas expansiones.

Nos sorprendió en dos niveles: el coste en tamaño se acumulaba rápido, y rustc (aparentemente) no aplicaba un límite al tamaño o al número de veces que se inlineaba una implementación de Debug.

Más de este día

2026-10-07