diff --git a/compiler/gen_dev/src/generic64/storage.rs b/compiler/gen_dev/src/generic64/storage.rs index a454a538d7..22567b0dfa 100644 --- a/compiler/gen_dev/src/generic64/storage.rs +++ b/compiler/gen_dev/src/generic64/storage.rs @@ -16,13 +16,13 @@ use RegStorage::*; use StackStorage::*; use Storage::*; -#[derive(Clone, Debug, PartialEq)] +#[derive(Copy, Clone, Debug, PartialEq, Eq)] enum RegStorage { General(GeneralReg), Float(FloatReg), } -#[derive(Clone, Debug, PartialEq)] +#[derive(Copy, Clone, Debug, PartialEq, Eq)] enum StackStorage { // Primitives are 8 bytes or less. That generally live in registers but can move stored on the stack. // Their data must always be 8 byte aligned and will be moved as a block. @@ -59,7 +59,7 @@ enum StackStorage { }, } -#[derive(Clone, Debug, PartialEq)] +#[derive(Copy, Clone, Debug, PartialEq, Eq)] enum Storage { Reg(RegStorage), Stack(StackStorage), @@ -356,7 +356,7 @@ impl< index: u64, field_layouts: &'a [Layout<'a>], ) { - debug_assert!(index < field_layouts.len()); + debug_assert!(index < field_layouts.len() as u64); let storage = if let Some(storage) = self.symbol_storage_map.get(structure) { storage } else {