'cargo bloat' can tell you what the biggest dependencies or functions are in your binary! https://github.com/RazrFalcon/cargo-bloat
Not only does this help you ship smaller files, it can also produce faster compiles!
miniblog.
Related Posts
"If it compiles it probably works" is definitely more common in some languages.
What PL features make this more likely?
My current theory is that pattern matching on enums with exhaustiveness checking is the primary cause. Especially when null has been replaced with Option.
When I wrote my first Rust program, I got the advice "just clone everything until v1 compiles". I think this OK advice, but I think a better rule of thumb is "used owned types as much as possible".
I spent a ton of time returning &str or &[T] and fighting the borrow checker.
Idris 2 is self-hosting, faster, compiles to Chez Scheme, and has a bunch of PL design lessons!