Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 1.86 KB

README.md

File metadata and controls

73 lines (52 loc) · 1.86 KB

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.