Skip to content

Commit b533374

Browse files
committed
rustc_codegen_ssa: use slice patterns instead of len-check+indexing
1 parent 8239a37 commit b533374

File tree

1 file changed

+5
-5
lines changed
  • compiler/rustc_codegen_ssa/src/back

1 file changed

+5
-5
lines changed

compiler/rustc_codegen_ssa/src/back/write.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -572,10 +572,10 @@ fn produce_final_output_artifacts(
572572
};
573573

574574
let copy_if_one_unit = |output_type: OutputType, keep_numbered: bool| {
575-
if compiled_modules.modules.len() == 1 {
575+
if let [module] = &compiled_modules.modules[..] {
576576
// 1) Only one codegen unit. In this case it's no difficulty
577577
// to copy `foo.0.x` to `foo.x`.
578-
let module_name = Some(&compiled_modules.modules[0].name[..]);
578+
let module_name = Some(&module.name[..]);
579579
let path = crate_output.temp_path(output_type, module_name);
580580
let output = crate_output.path(output_type);
581581
if !output_type.is_text_output() && output.is_tty() {
@@ -707,8 +707,8 @@ fn produce_final_output_artifacts(
707707
}
708708

709709
if sess.opts.json_artifact_notifications {
710-
if compiled_modules.modules.len() == 1 {
711-
compiled_modules.modules[0].for_each_output(|_path, ty| {
710+
if let [module] = &compiled_modules.modules[..] {
711+
module.for_each_output(|_path, ty| {
712712
if sess.opts.output_types.contains_key(&ty) {
713713
let descr = ty.shorthand();
714714
// for single cgu file is renamed to drop cgu specific suffix
@@ -864,7 +864,7 @@ pub(crate) fn compute_per_cgu_lto_type(
864864
// require LTO so the request for LTO is always unconditionally
865865
// passed down to the backend, but we don't actually want to do
866866
// anything about it yet until we've got a final product.
867-
let is_rlib = sess_crate_types.len() == 1 && sess_crate_types[0] == CrateType::Rlib;
867+
let is_rlib = matches!(sess_crate_types, [CrateType::Rlib]);
868868

869869
match sess_lto {
870870
Lto::ThinLocal if !linker_does_lto && !is_allocator => ComputedLtoType::Thin,

0 commit comments

Comments
 (0)