# William Woodruff - Things I Hate About Rust, Redux (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article0.00998d930354.png) ## Metadata **Cover**:: https://readwise-assets.s3.amazonaws.com/static/images/article0.00998d930354.png **Source**:: #from/readwise **Zettel**:: #zettel/fleeting **Status**:: #x **Authors**:: [[William Woodruff]] **Full Title**:: Things I Hate About Rust, Redux **Category**:: #articles #readwise/articles **Category Icon**:: 📰 **URL**:: [blog.yossarian.net](https://blog.yossarian.net/2022/03/10/Things-I-hate-about-Rust-redux) **Host**:: [[blog.yossarian.net]] **Highlighted**:: [[2022-03-16]] **Created**:: [[2022-09-26]] ## Highlights ### IntoIterator is too overloaded - The downside is comprehension: absent of context, an into_iter() could be doing any of the above3, leaving it to me (or any other poor soul) to read further into the iterator’s consumer to determine what’s actually going on. ### It’s difficult to write “high-assurance” Rust - Rust standard library and ecosystem are full of panics that almost never occur, panics that are only specified informally ### Integration tests feel bolted on - Cargo doesn’t understand how to run integration tests against a binary-only crate - More annoyingly: because each file under tests/ is its own binary, Rust’s otherwise excellent dead code detection does not work correctly on integration tests. ### Bonus: cargo install is too eager - Unlike cargo build, cargo install ignores Cargo.lock by default, ### Wrapup and honorable(?) mentions