Closed
Description
We have unit tests inline with crates, and testing them involves recompiling the crates in test mode. This is bad for development times. We are currently doing this for core, std, rustc, rustdoc, and cargo.
My preference is just to always compile the crates with tests and use an external test runner to invoke them. It will add some compile time to non-testing builds, and some size to the binaries so maybe we can have a way to turn them off.
We could also move all tests to their own libraries, but it would preclude testing private functions.