diff --git a/core/mem/alloc.odin b/core/mem/alloc.odin index d5e0cef83..6347b236c 100644 --- a/core/mem/alloc.odin +++ b/core/mem/alloc.odin @@ -118,7 +118,7 @@ delete_slice :: proc(array: $T/[]$E, allocator := context.allocator, loc := #cal } delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) { raw := transmute(Raw_Map)m; - delete_slice(raw.hashes); + delete_slice(raw.hashes, raw.entries.allocator, loc); free(raw.entries.data, raw.entries.allocator, loc); } diff --git a/core/runtime/core_builtin.odin b/core/runtime/core_builtin.odin index 8a1be60d9..043010470 100644 --- a/core/runtime/core_builtin.odin +++ b/core/runtime/core_builtin.odin @@ -145,7 +145,7 @@ delete_slice :: proc(array: $T/[]$E, allocator := context.allocator, loc := #cal @builtin delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) { raw := transmute(Raw_Map)m; - delete_slice(raw.hashes); + delete_slice(raw.hashes, raw.entries.allocator, loc); mem_free(raw.entries.data, raw.entries.allocator, loc); }