Use a let-chain in _session::output (nfc)

This commit is contained in:
Jubilee Young 2022-03-24 22:31:46 -07:00
parent d3ca9ba123
commit fd2448b5fc
2 changed files with 10 additions and 15 deletions

View File

@ -1,5 +1,6 @@
#![feature(crate_visibility_modifier)]
#![feature(derive_default_enum)]
#![feature(let_chains)]
#![feature(let_else)]
#![feature(min_specialization)]
#![feature(once_cell)]

View File

@ -183,24 +183,18 @@ pub fn default_output_for_target(sess: &Session) -> CrateType {
/// Checks if target supports crate_type as output
pub fn invalid_output_for_target(sess: &Session, crate_type: CrateType) -> bool {
match crate_type {
CrateType::Cdylib | CrateType::Dylib | CrateType::ProcMacro => {
if !sess.target.dynamic_linking {
return true;
}
if sess.crt_static(Some(crate_type)) && !sess.target.crt_static_allows_dylibs {
return true;
}
if let CrateType::Cdylib | CrateType::Dylib | CrateType::ProcMacro = crate_type {
if !sess.target.dynamic_linking {
return true;
}
_ => {}
}
if sess.target.only_cdylib {
match crate_type {
CrateType::ProcMacro | CrateType::Dylib => return true,
_ => {}
if sess.crt_static(Some(crate_type)) && !sess.target.crt_static_allows_dylibs {
return true;
}
}
if !sess.target.executables && crate_type == CrateType::Executable {
if let CrateType::ProcMacro | CrateType::Dylib = crate_type && sess.target.only_cdylib {
return true;
}
if let CrateType::Executable = crate_type && !sess.target.executables {
return true;
}