Expand description

A malloc-ed box pointer type, brought to you by @NikolaiVazquez!

Table of Contents

  1. Donate
  2. Usage
  3. MSRV
  4. FFI Safety
  5. Alternatives
  6. License

If this project is useful to you, please consider sponsoring me or donating directly!

Doing so enables me to create high-quality open source software like this. ❤️


This library is available on crates.io and can be used by adding the following to your project’s Cargo.toml:

malloced = "1.1.0"

The star of the show is Malloced, Box-like pointer that calls free on Drop:

use malloced::Malloced;


This library’s minimum supported Rust version (MSRV) is 1.30. A new version requirement would result in a minor version update.

If the pin feature is enabled, the MSRV is 1.33.

FFI Safety

Malloced<T> is a #[repr(transparent)] wrapper over NonNull<T>, so it can be safely used in C FFI. For example, the following is safe and even compiles with the improper_ctypes lint enabled:

extern "C" {
    fn my_array_malloc() -> Malloced<[u8; 32]>;



This project is released under either MIT License or Apache License (Version 2.0) at your choosing.


A pointer type for malloc-ed heap allocation.

An iterator over a Malloced<[T]>.