From e451c3a1f9b4823c94e1be1f62cf6925a1129da6 Mon Sep 17 00:00:00 2001 From: ayazhafiz Date: Tue, 21 Dec 2021 19:23:07 -0600 Subject: [PATCH] Small refactoring: coalesce record field collection loop --- compiler/mono/src/layout.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/compiler/mono/src/layout.rs b/compiler/mono/src/layout.rs index d8123e29ee..ea3faafcf4 100644 --- a/compiler/mono/src/layout.rs +++ b/compiler/mono/src/layout.rs @@ -1669,20 +1669,16 @@ fn sort_record_fields_help<'a>( let mut sorted_fields = Vec::with_capacity_in(fields_map.size_hint().0, env.arena); for (label, field) in fields_map { - // TODO: make prettier by pulling out Ok/Err - let var = match field { - RecordField::Demanded(v) => v, - RecordField::Required(v) => v, + match field { + RecordField::Demanded(v) | RecordField::Required(v) => { + let layout = Layout::from_var(env, v)?; + sorted_fields.push((label, v, Ok(layout))); + } RecordField::Optional(v) => { let layout = Layout::from_var(env, v)?; sorted_fields.push((label, v, Err(layout))); - continue; } }; - - let layout = Layout::from_var(env, var)?; - - sorted_fields.push((label, var, Ok(layout))); } sorted_fields.sort_by(