diff --git a/compiler/gen_dev/src/generic64/mod.rs b/compiler/gen_dev/src/generic64/mod.rs index 1d9e5e02dd..f9ed576ba9 100644 --- a/compiler/gen_dev/src/generic64/mod.rs +++ b/compiler/gen_dev/src/generic64/mod.rs @@ -1028,8 +1028,7 @@ impl< } fn create_struct(&mut self, sym: &Symbol, layout: &Layout<'a>, fields: &'a [Symbol]) { - return self - .storage_manager + self.storage_manager .create_struct(&mut self.buf, sym, layout, fields); } diff --git a/compiler/gen_dev/src/generic64/storage.rs b/compiler/gen_dev/src/generic64/storage.rs index 2320221929..4892013d87 100644 --- a/compiler/gen_dev/src/generic64/storage.rs +++ b/compiler/gen_dev/src/generic64/storage.rs @@ -375,8 +375,8 @@ impl< Stack(Complex { base_offset, size }) => { let (base_offset, size) = (*base_offset, *size); let mut data_offset = base_offset; - for i in 0..index as usize { - let field_size = field_layouts[i].stack_size(self.target_info); + for layout in field_layouts.iter().take(index as usize) { + let field_size = layout.stack_size(self.target_info); data_offset += field_size as i32; } debug_assert!(data_offset < base_offset + size as i32); @@ -705,6 +705,6 @@ impl< } } -fn is_primitive<'a>(layout: &Layout<'a>) -> bool { +fn is_primitive(layout: &Layout<'_>) -> bool { matches!(layout, single_register_layouts!()) }