For example:
/C/msys64/home/Richard/rust-build/x86_64-pc-windows-msvc/stage2/bin/rustc.exe --out-dir /C/msys64/home/Richard/rust-build/x86_64-pc-windows-msvc/test/run-make/output-type-permutations -L /C/msys64/home/Richard/rust-build/x86_64-pc-windows-msvc/test/run-make/output-type-permutations foo.rs --crate-type=staticlib
produces just libbar.a.
/C/msys64/home/Richard/rust-build/x86_64-pc-windows-msvc/stage2/bin/rustc.exe --out-dir /C/msys64/home/Richard/rust-build/x86_64-pc-windows-msvc/test/run-make/output-type-permutations -L /C/msys64/home/Richard/rust-build/x86_64-pc-windows-msvc/test/run-make/output-type-permutations foo.rs --crate-type=dylib
produces bar.dll, bar.exp, and bar.lib.
Note rlib output works as expected. See output-type-permutations from run-make.