7 stable releases

Uses old Rust 2015

1.3.1 Feb 27, 2023
1.2.0 Feb 27, 2023
1.1.0 Jan 29, 2022
1.0.1 Dec 29, 2021
1.0.0 Dec 13, 2020

#83 in Memory management

Download history 326/week @ 2023-11-28 330/week @ 2023-12-05 415/week @ 2023-12-12 364/week @ 2023-12-19 308/week @ 2023-12-26 542/week @ 2024-01-02 364/week @ 2024-01-09 363/week @ 2024-01-16 301/week @ 2024-01-23 377/week @ 2024-01-30 648/week @ 2024-02-06 561/week @ 2024-02-13 923/week @ 2024-02-20 765/week @ 2024-02-27 727/week @ 2024-03-05 783/week @ 2024-03-12

3,269 downloads per month
Used in 13 crates (2 directly)

MIT/Apache

26KB
536 lines

Malloced

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

Donate

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. ❤️

Usage

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

[dependencies]
malloced = "1.3.1"

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

use malloced::Malloced;

MSRV

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

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:

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

Alternatives

License

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

No runtime deps

Features