From 1f258ed0899372ad1b5dc1bbf919d583e276b524 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 10:37:58 -0400 Subject: [PATCH 01/10] update v3.3.0 and v2.3.0 --- libmimalloc-sys/c_src/mimalloc/v2 | 2 +- libmimalloc-sys/c_src/mimalloc/v3 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libmimalloc-sys/c_src/mimalloc/v2 b/libmimalloc-sys/c_src/mimalloc/v2 index 6a53d72..5459bec 160000 --- a/libmimalloc-sys/c_src/mimalloc/v2 +++ b/libmimalloc-sys/c_src/mimalloc/v2 @@ -1 +1 @@ -Subproject commit 6a53d72d46a1a641d8e5793db37cb2da60e04192 +Subproject commit 5459bece783e4ff86ef4c54dbb3b0d7a142a07d9 diff --git a/libmimalloc-sys/c_src/mimalloc/v3 b/libmimalloc-sys/c_src/mimalloc/v3 index 7b7fca4..0ddf397 160000 --- a/libmimalloc-sys/c_src/mimalloc/v3 +++ b/libmimalloc-sys/c_src/mimalloc/v3 @@ -1 +1 @@ -Subproject commit 7b7fca4b7013d77e356d96e055fec309cb3cbbd6 +Subproject commit 0ddf397796fbefa35b3278bd4431c2913a9892eb From 2e8c70230b44166d9f8053c791b5a47b49fcc7d7 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 10:58:54 -0400 Subject: [PATCH 02/10] update rust to new mimalloc version --- .vscode/settings.json | 3 +++ Cargo.toml | 5 +++-- README.md | 4 ++-- libmimalloc-sys/Cargo.toml | 4 ++-- libmimalloc-sys/src/extended.rs | 36 +++++++++++++++++++++++++++++++-- 5 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..39a5ca1 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "rust-analyzer.cargo.features": "all" +} diff --git a/Cargo.toml b/Cargo.toml index ec4d3a4..3c50bb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,16 +1,17 @@ [package] name = "bc-mimalloc" -version = "0.1.48" +version = "0.2.0" authors = [ "Octavian Oncescu ", "Vincent Rouillé ", "Thom Chiovoloni ", + "Evan Cameron ", ] edition = "2018" repository = "https://github.com/leshow/mimalloc_rust" keywords = ["mimalloc", "allocator", "encrypted-heap", "performance"] categories = ["memory-management", "api-bindings"] -description = "Performance and security oriented drop-in allocator (updated to v2.2.7 and v3.2.8, respectively)" +description = "Performance and security oriented drop-in allocator (updated to v2.3.0 and v3.3.0, respectively)" license = "MIT" readme = "README.md" diff --git a/README.md b/README.md index 2174ad6..238f117 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Mimalloc is a general purpose, performance oriented allocator built by Microsoft > **Note:** This is a fork of [`mimalloc`](https://crates.io/crates/mimalloc) / > [`libmimalloc-sys`](https://crates.io/crates/libmimalloc-sys) published under > the names **`bc-mimalloc`** and **`bc-libmimalloc-sys`**. It updates the -> bundled mimalloc C library to **v2.2.7** (default) and **v3.2.8** (opt-in via +> bundled mimalloc C library to **v2.3.0** (default) and **v3.3.0** (opt-in via > the `v3` feature). ## Usage @@ -22,7 +22,7 @@ static GLOBAL: MiMalloc = MiMalloc; ## Requirements -A __C__ compiler is required for building [mimalloc](https://github.com/microsoft/mimalloc) with cargo. +A **C** compiler is required for building [mimalloc](https://github.com/microsoft/mimalloc) with cargo. ## Usage with secure mode diff --git a/libmimalloc-sys/Cargo.toml b/libmimalloc-sys/Cargo.toml index fde9b70..6f5ee18 100644 --- a/libmimalloc-sys/Cargo.toml +++ b/libmimalloc-sys/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "bc-libmimalloc-sys" -version = "0.1.44" +version = "0.2.0" authors = ["Octavian Oncescu "] edition = "2018" repository = "https://github.com/leshow/mimalloc_rust/tree/master/libmimalloc-sys" keywords = ["allocator", "encrypted-heap", "performance"] categories = ["memory-management", "api-bindings"] -description = "Sys crate wrapping the mimalloc allocator (updated to v2.2.7 and v3.2.8, respectively)" +description = "Sys crate wrapping the mimalloc allocator (updated to v2.3.0 and v3.3.0, respectively)" license = "MIT" links = "mimalloc" exclude = [ diff --git a/libmimalloc-sys/src/extended.rs b/libmimalloc-sys/src/extended.rs index 5c4b204..2d85167 100644 --- a/libmimalloc-sys/src/extended.rs +++ b/libmimalloc-sys/src/extended.rs @@ -202,6 +202,10 @@ extern "C" { /// know for certain. pub fn mi_zalloc_small(size: usize) -> *mut c_void; + /// Free a small object. Only use to free objects from [`mi_malloc_small`] + /// or [`mi_zalloc_small`]. Potentially a tiny bit faster than [`mi_free`](crate::mi_free). + pub fn mi_free_small(p: *mut c_void); + /// Return the available bytes in a memory block. /// /// The returned size can be used to call `mi_expand` successfully. @@ -766,6 +770,12 @@ extern "C" { /// `size` must be smaller or equal to [`MI_SMALL_SIZE_MAX`]. pub fn mi_heap_malloc_small(heap: *mut mi_heap_t, size: usize) -> *mut c_void; + /// Equivalent to [`mi_zalloc_small`], but allocates out of the specific + /// heap instead of the default. + /// + /// `size` must be smaller or equal to [`MI_SMALL_SIZE_MAX`]. + pub fn mi_heap_zalloc_small(heap: *mut mi_heap_t, size: usize) -> *mut c_void; + /// Equivalent to [`mi_realloc`](crate::mi_realloc), but allocates out of /// the specific heap instead of the default. pub fn mi_heap_realloc(heap: *mut mi_heap_t, p: *mut c_void, newsize: usize) -> *mut c_void; @@ -1000,6 +1010,26 @@ extern "C" { arg: *mut c_void, ) -> bool; + /// Check if the heap page containing `p` is under-utilized. + /// + /// # Safety + /// Assumes the page belonging to `p` is only accessed by the calling thread. + pub fn mi_unsafe_heap_page_is_under_utilized( + heap: *mut mi_heap_t, + p: *mut c_void, + perc_threshold: usize, + ) -> bool; + + #[cfg(feature = "v3")] + /// Return the minimum size for an arena (v3 only). + pub fn mi_arena_min_size() -> usize; + + #[cfg(feature = "v3")] + /// Equivalent to [`mi_heap_zalloc_small`], but for a thread-local heap (`theap`) in v3. + /// + /// `size` must be smaller or equal to [`MI_SMALL_SIZE_MAX`]. + pub fn mi_theap_zalloc_small(theap: *mut mi_heap_t, size: usize) -> *mut c_void; + #[cfg(feature = "arena")] /// Create a heap that only allocates in the specified arena pub fn mi_heap_new_in_arena(arena_id: mi_arena_id_t) -> *mut mi_heap_t; @@ -1036,10 +1066,10 @@ extern "C" { /// /// - `start` Start of the memory area /// - `size` The size of the memory area. Must be large than `MI_ARENA_BLOCK_SIZE` (e.g. 64MB - /// on x86_64 machines). + /// on x86_64 machines). /// - `commit` Set true if the memory range is already commited. /// - `is_large` Set true if the memory range consists of large files, or if the memory should - /// not be decommitted or protected (like rdma etc.). + /// not be decommitted or protected (like rdma etc.). /// - `is_zero` Set true if the memory range consists only of zeros. /// - `numa_node` Possible associated numa node or `-1`. /// - `exclusive` Only allow allocations if specifically for this arena. @@ -1061,6 +1091,8 @@ extern "C" { #[cfg(test)] mod tests { use super::*; + #[allow(unused_imports)] // for vscode seems to not compile with extended enabled + use crate::mi_malloc; #[test] fn it_calculates_usable_size() { From 7b3bd45689136ac57032eb4f4085ea952dc45ab3 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 12:51:12 -0400 Subject: [PATCH 03/10] update crate to 0.2.0 and swap default to v3 --- Cargo.toml | 4 ++-- README.md | 15 ++++++++------- libmimalloc-sys/Cargo.toml | 3 ++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3c50bb2..f9d8471 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,10 +26,10 @@ members = [ travis-ci = { repository = "purpleprotocol/mimalloc_rust" } [dependencies] -libmimalloc-sys = { package = "bc-libmimalloc-sys", path = "libmimalloc-sys", version = "0.1.44", default-features = false } +libmimalloc-sys = { package = "bc-libmimalloc-sys", path = "libmimalloc-sys", version = "0.2.0", default-features = false } [features] -default = [] +default = ["v3"] secure = ["libmimalloc-sys/secure"] override = ["libmimalloc-sys/override"] debug = ["libmimalloc-sys/debug"] diff --git a/README.md b/README.md index 238f117..a4a2373 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ Mimalloc is a general purpose, performance oriented allocator built by Microsoft > **Note:** This is a fork of [`mimalloc`](https://crates.io/crates/mimalloc) / > [`libmimalloc-sys`](https://crates.io/crates/libmimalloc-sys) published under -> the names **`bc-mimalloc`** and **`bc-libmimalloc-sys`**. It updates the -> bundled mimalloc C library to **v2.3.0** (default) and **v3.3.0** (opt-in via -> the `v3` feature). +> **`bc-mimalloc`** and **`bc-libmimalloc-sys`**. It bundles +> mimalloc **v3.3.0** by DEFAULT (now recommended by upstream) and **v2.3.0** +> (opt-out via `default-features = false`). ## Usage @@ -38,14 +38,15 @@ To enable secure mode, put in `Cargo.toml`: bc-mimalloc = { version = "*", features = ["secure"] } ``` -## Usage with v3 +## Usage with v2 -By default this library uses mimalloc `v2` (currently **v2.2.7**). -To enable `v3` (**v3.2.8**), put in `Cargo.toml`: +By default this library uses mimalloc `v3` (currently **v3.3.0**), which is +recommended by upstream. To OPT-OUT and use `v2` (**v2.3.0**) instead, disable default +features in `Cargo.toml`: ```ini [dependencies] -bc-mimalloc = { version = "*", features = ["v3"] } +bc-mimalloc = { version = "*", default-features = false } ``` [crates.io]: https://crates.io/crates/bc-mimalloc diff --git a/libmimalloc-sys/Cargo.toml b/libmimalloc-sys/Cargo.toml index 6f5ee18..0c9cc07 100644 --- a/libmimalloc-sys/Cargo.toml +++ b/libmimalloc-sys/Cargo.toml @@ -32,6 +32,7 @@ libc = "0.2" cc = "1.0" [features] +default = ["v3"] secure = [] debug = [] debug_in_debug = [] @@ -44,4 +45,4 @@ v3 = [] # Show `extended` on docs.rs since it's the full API surface. [package.metadata.docs.rs] -features = ["extended"] +features = ["extended", "v3"] From c54bc6391b462abfd44abce723a040ed067d4a03 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 12:59:03 -0400 Subject: [PATCH 04/10] Revert "update crate to 0.2.0 and swap default to v3" This reverts commit 7b3bd45689136ac57032eb4f4085ea952dc45ab3. --- Cargo.toml | 4 ++-- README.md | 15 +++++++-------- libmimalloc-sys/Cargo.toml | 3 +-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f9d8471..3c50bb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,10 +26,10 @@ members = [ travis-ci = { repository = "purpleprotocol/mimalloc_rust" } [dependencies] -libmimalloc-sys = { package = "bc-libmimalloc-sys", path = "libmimalloc-sys", version = "0.2.0", default-features = false } +libmimalloc-sys = { package = "bc-libmimalloc-sys", path = "libmimalloc-sys", version = "0.1.44", default-features = false } [features] -default = ["v3"] +default = [] secure = ["libmimalloc-sys/secure"] override = ["libmimalloc-sys/override"] debug = ["libmimalloc-sys/debug"] diff --git a/README.md b/README.md index a4a2373..238f117 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ Mimalloc is a general purpose, performance oriented allocator built by Microsoft > **Note:** This is a fork of [`mimalloc`](https://crates.io/crates/mimalloc) / > [`libmimalloc-sys`](https://crates.io/crates/libmimalloc-sys) published under -> **`bc-mimalloc`** and **`bc-libmimalloc-sys`**. It bundles -> mimalloc **v3.3.0** by DEFAULT (now recommended by upstream) and **v2.3.0** -> (opt-out via `default-features = false`). +> the names **`bc-mimalloc`** and **`bc-libmimalloc-sys`**. It updates the +> bundled mimalloc C library to **v2.3.0** (default) and **v3.3.0** (opt-in via +> the `v3` feature). ## Usage @@ -38,15 +38,14 @@ To enable secure mode, put in `Cargo.toml`: bc-mimalloc = { version = "*", features = ["secure"] } ``` -## Usage with v2 +## Usage with v3 -By default this library uses mimalloc `v3` (currently **v3.3.0**), which is -recommended by upstream. To OPT-OUT and use `v2` (**v2.3.0**) instead, disable default -features in `Cargo.toml`: +By default this library uses mimalloc `v2` (currently **v2.2.7**). +To enable `v3` (**v3.2.8**), put in `Cargo.toml`: ```ini [dependencies] -bc-mimalloc = { version = "*", default-features = false } +bc-mimalloc = { version = "*", features = ["v3"] } ``` [crates.io]: https://crates.io/crates/bc-mimalloc diff --git a/libmimalloc-sys/Cargo.toml b/libmimalloc-sys/Cargo.toml index 0c9cc07..6f5ee18 100644 --- a/libmimalloc-sys/Cargo.toml +++ b/libmimalloc-sys/Cargo.toml @@ -32,7 +32,6 @@ libc = "0.2" cc = "1.0" [features] -default = ["v3"] secure = [] debug = [] debug_in_debug = [] @@ -45,4 +44,4 @@ v3 = [] # Show `extended` on docs.rs since it's the full API surface. [package.metadata.docs.rs] -features = ["extended", "v3"] +features = ["extended"] From c6b5fae893c3cb0c7814b314eaf6f73a3a0cc34e Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 13:00:45 -0400 Subject: [PATCH 05/10] libmimalloc-sys should point to 0.2.0 --- Cargo.toml | 2 +- libmimalloc-sys/src/extended.rs | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3c50bb2..207cc2b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ members = [ travis-ci = { repository = "purpleprotocol/mimalloc_rust" } [dependencies] -libmimalloc-sys = { package = "bc-libmimalloc-sys", path = "libmimalloc-sys", version = "0.1.44", default-features = false } +libmimalloc-sys = { package = "bc-libmimalloc-sys", path = "libmimalloc-sys", version = "0.2.0", default-features = false } [features] default = [] diff --git a/libmimalloc-sys/src/extended.rs b/libmimalloc-sys/src/extended.rs index 2d85167..59e149e 100644 --- a/libmimalloc-sys/src/extended.rs +++ b/libmimalloc-sys/src/extended.rs @@ -1091,8 +1091,6 @@ extern "C" { #[cfg(test)] mod tests { use super::*; - #[allow(unused_imports)] // for vscode seems to not compile with extended enabled - use crate::mi_malloc; #[test] fn it_calculates_usable_size() { From 38bfc2bdb2d9fe0c8894641e8d465252107c21d8 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 13:57:05 -0400 Subject: [PATCH 06/10] add theap_t & use libc as dev-dependency --- libmimalloc-sys/Cargo.toml | 2 ++ libmimalloc-sys/src/extended.rs | 6 +++++- libmimalloc-sys/src/lib.rs | 2 -- libmimalloc-sys/sys-test/src/main.rs | 8 +------- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/libmimalloc-sys/Cargo.toml b/libmimalloc-sys/Cargo.toml index 6f5ee18..52208b5 100644 --- a/libmimalloc-sys/Cargo.toml +++ b/libmimalloc-sys/Cargo.toml @@ -26,6 +26,8 @@ exclude = [ [dependencies] cty = { version = "0.2", optional = true } + +[dev-dependencies] libc = "0.2" [build-dependencies] diff --git a/libmimalloc-sys/src/extended.rs b/libmimalloc-sys/src/extended.rs index 59e149e..d0d622b 100644 --- a/libmimalloc-sys/src/extended.rs +++ b/libmimalloc-sys/src/extended.rs @@ -653,6 +653,10 @@ extern "C" { /// ``` pub enum mi_heap_t {} +/// Opaque type for a mimalloc thread-local heap (`mi_theap_s`) — v3 only. +#[cfg(feature = "v3")] +pub enum mi_theap_t {} + /// An area of heap space contains blocks of a single size. /// /// The bytes in freed blocks are `committed - used`. @@ -1028,7 +1032,7 @@ extern "C" { /// Equivalent to [`mi_heap_zalloc_small`], but for a thread-local heap (`theap`) in v3. /// /// `size` must be smaller or equal to [`MI_SMALL_SIZE_MAX`]. - pub fn mi_theap_zalloc_small(theap: *mut mi_heap_t, size: usize) -> *mut c_void; + pub fn mi_theap_zalloc_small(theap: *mut mi_theap_t, size: usize) -> *mut c_void; #[cfg(feature = "arena")] /// Create a heap that only allocates in the specified arena diff --git a/libmimalloc-sys/src/lib.rs b/libmimalloc-sys/src/lib.rs index ff2442e..fe7b81b 100644 --- a/libmimalloc-sys/src/lib.rs +++ b/libmimalloc-sys/src/lib.rs @@ -3,8 +3,6 @@ use core::ffi::c_void; -extern crate libc; - #[cfg(feature = "extended")] mod extended; #[cfg(feature = "extended")] diff --git a/libmimalloc-sys/sys-test/src/main.rs b/libmimalloc-sys/sys-test/src/main.rs index 9c237ee..385a34d 100644 --- a/libmimalloc-sys/sys-test/src/main.rs +++ b/libmimalloc-sys/sys-test/src/main.rs @@ -1,10 +1,4 @@ -#![allow( - bad_style, - unused_imports, - unused_macros, - clippy::all, - function_casts_as_integer -)] +#![allow(bad_style, unused_imports, unused_macros, clippy::all)] use libmimalloc_sys::*; From ff0532c07f74b257e84b2a3fa1e482b30d2ddd23 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 13:59:37 -0400 Subject: [PATCH 07/10] add back clippy lint --- libmimalloc-sys/sys-test/src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libmimalloc-sys/sys-test/src/main.rs b/libmimalloc-sys/sys-test/src/main.rs index 385a34d..9c237ee 100644 --- a/libmimalloc-sys/sys-test/src/main.rs +++ b/libmimalloc-sys/sys-test/src/main.rs @@ -1,4 +1,10 @@ -#![allow(bad_style, unused_imports, unused_macros, clippy::all)] +#![allow( + bad_style, + unused_imports, + unused_macros, + clippy::all, + function_casts_as_integer +)] use libmimalloc_sys::*; From 3e3b73a86f5ec5fd67de41b6c51d5f3cd3bfeb32 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 14:41:08 -0400 Subject: [PATCH 08/10] disable secure + v3 runner --- .github/workflows/ci.yml | 4 ++-- README.md | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index adffcf6..af90e48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,8 +63,8 @@ jobs: - name: Build (v3, secure) run: cargo build --features v3,secure - - name: Test (v3, secure) - run: cargo test --features v3,secure + # - name: Test (v3, secure) + # run: cargo test --features v3,secure - name: Test libmimalloc-sys crate bindings (v3, secure) run: cargo run --features libmimalloc-sys-test/v3,libmimalloc-sys-test/secure -p libmimalloc-sys-test diff --git a/README.md b/README.md index 238f117..a5a5967 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,12 @@ To enable secure mode, put in `Cargo.toml`: bc-mimalloc = { version = "*", features = ["secure"] } ``` +**NOTE**: I have disabled the secure + v3 test runner as it seems to deadlock or run forever in the CI on v3.3.0. + ## Usage with v3 -By default this library uses mimalloc `v2` (currently **v2.2.7**). -To enable `v3` (**v3.2.8**), put in `Cargo.toml`: +By default this library uses mimalloc `v2` (currently **v2.3.0**). +To enable `v3` (**v3.3.0**), put in `Cargo.toml`: ```ini [dependencies] From 5c848974a808396a3df6d8ec296c5c6d6e2aefaa Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Thu, 16 Apr 2026 15:37:44 -0400 Subject: [PATCH 09/10] enable secure to show failure --- .github/workflows/ci.yml | 4 ++-- README.md | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af90e48..adffcf6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,8 +63,8 @@ jobs: - name: Build (v3, secure) run: cargo build --features v3,secure - # - name: Test (v3, secure) - # run: cargo test --features v3,secure + - name: Test (v3, secure) + run: cargo test --features v3,secure - name: Test libmimalloc-sys crate bindings (v3, secure) run: cargo run --features libmimalloc-sys-test/v3,libmimalloc-sys-test/secure -p libmimalloc-sys-test diff --git a/README.md b/README.md index a5a5967..4904031 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,6 @@ To enable secure mode, put in `Cargo.toml`: bc-mimalloc = { version = "*", features = ["secure"] } ``` -**NOTE**: I have disabled the secure + v3 test runner as it seems to deadlock or run forever in the CI on v3.3.0. - ## Usage with v3 By default this library uses mimalloc `v2` (currently **v2.3.0**). From ccbf452b13ba5fd06475410dd5d00c70198ebb54 Mon Sep 17 00:00:00 2001 From: Evan Cameron Date: Fri, 17 Apr 2026 10:24:44 -0400 Subject: [PATCH 10/10] mi_arena_id_t uses c_void on v3 --- libmimalloc-sys/src/extended.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libmimalloc-sys/src/extended.rs b/libmimalloc-sys/src/extended.rs index d0d622b..e5e9406 100644 --- a/libmimalloc-sys/src/extended.rs +++ b/libmimalloc-sys/src/extended.rs @@ -477,10 +477,14 @@ pub type mi_error_fun = Option