Allow codegen backends to indicate which crate types they support This way cargo will drop the unsupported crate types for crates that specify multiple crate types. This is a prerequisite for https://github.com/rust-lang/miri/pull/4648.
Please read the rustc-dev-guide chapter on Backend Agnostic Codegen.