diff --git a/core/runtime/core_builtin_soa.odin b/core/runtime/core_builtin_soa.odin index ee2a5f2d0..f3882a9a8 100644 --- a/core/runtime/core_builtin_soa.odin +++ b/core/runtime/core_builtin_soa.odin @@ -413,3 +413,16 @@ delete_soa :: proc{ delete_soa_slice, delete_soa_dynamic_array, } + + +clear_soa_dynamic_array :: proc(array: ^$T/#soa[dynamic]$E) { + when intrinsics.type_struct_field_count(E) != 0 { + footer := raw_soa_footer(array) + footer.len = 0 + } +} + +@builtin +clear_soa :: proc{ + clear_soa_dynamic_array, +} \ No newline at end of file