diff --git a/src/front/spv/mod.rs b/src/front/spv/mod.rs index 893c60cca9..95e8a7487c 100644 --- a/src/front/spv/mod.rs +++ b/src/front/spv/mod.rs @@ -4076,12 +4076,15 @@ impl> Parser { let decor = self.future_decor.remove(&id).unwrap_or_default(); let base = self.lookup_type.lookup(type_id)?.handle; + self.layouter + .update(&module.types, &module.constants) + .unwrap(); let inner = crate::TypeInner::Array { base, size: crate::ArraySize::Constant(length_const.handle), stride: match decor.array_stride { Some(stride) => stride.get(), - None => module.types[base].inner.size(&module.constants), + None => self.layouter[base].to_stride(), }, }; self.lookup_type.insert( @@ -4113,12 +4116,15 @@ impl> Parser { let decor = self.future_decor.remove(&id).unwrap_or_default(); let base = self.lookup_type.lookup(type_id)?.handle; + self.layouter + .update(&module.types, &module.constants) + .unwrap(); let inner = crate::TypeInner::Array { base: self.lookup_type.lookup(type_id)?.handle, size: crate::ArraySize::Dynamic, stride: match decor.array_stride { Some(stride) => stride.get(), - None => module.types[base].inner.size(&module.constants), + None => self.layouter[base].to_stride(), }, }; self.lookup_type.insert(