Closed madsmtm closed 5 months ago
Note that this added objc_sys::free
, to avoid the dependency on libc
. I did first investigate if System.dealloc
could be used for this, since that calls libc::free
internally, but you probably can't rely on that.
malloc_buf
is unmaintained and unsound, and may be marked as such in the Rustsec Advisory Database in the future, which would be bad for our users; so we should really migrate to something else.The alternatives
mbox
,malloced
andmalloc-array
are either also unsound (usually failing to handle0
-length arrays properly), or not popular/maintained enough for me to be comfortable with them as a dependency.So let's just roll our own implementation, it's not really that complex anyhow (since we don't handle allocation, only deallocation), and we should be able to swap it out with
Box<_, MallocAllocator>
in the future.Part of https://github.com/madsmtm/objc2/issues/500.