Looks like if there's a binary target then the libraries are compiled entirely instead of only requiring metadata. I ran `cargo new foo` followed by `touch src/main.rs`, and also added a dependency on `libc` from crates.io. After that a `cargo check -v` yielded: ``` Running `rustc --crate-name libc /.../src/lib.rs --crate-type metadata ` Running `rustc --crate-name libc /.../src/lib.rs --crate-type lib ` Running `rustc --crate-name foo src/lib.rs --crate-type metadata ` Running `rustc --crate-name foo src/lib.rs --crate-type lib ...` Running `rustc --crate-name foo src/main.rs --crate-type metadata ...` ```