diff --git a/src/back/msl/writer.rs b/src/back/msl/writer.rs index 92b7ef640a..cd50217c8e 100644 --- a/src/back/msl/writer.rs +++ b/src/back/msl/writer.rs @@ -801,12 +801,15 @@ impl Writer { crate::TypeInner::ValuePointer { .. } | crate::TypeInner::Vector { .. } => { write!(self.out, ".{}", back::COMPONENTS[index as usize])?; } - crate::TypeInner::Matrix { .. } => { - write!(self.out, "[{}]", index)?; - } - crate::TypeInner::Array { .. } => { + crate::TypeInner::Array { + size: crate::ArraySize::Constant(_), + .. + } => { write!(self.out, ".{}[{}]", WRAPPED_ARRAY_FIELD, index)?; } + crate::TypeInner::Array { .. } | crate::TypeInner::Matrix { .. } => { + write!(self.out, "[{}]", index)?; + } _ => { // unexpected indexing, should fail validation }