malloced

Crates.iomalloced
lib.rsmalloced
version1.3.1
sourcesrc
created_at2020-12-13 04:19:24.588109
updated_at2023-02-27 13:49:14.734709
descriptionA malloc-ed box pointer type.
homepagehttps://github.com/nvzqz/malloced
repositoryhttps://github.com/nvzqz/malloced
max_upload_size
id322318
size39,544
Nikolai Vazquez (nvzqz)

documentation

https://docs.rs/malloced

README

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.

Commit count: 51

cargo fmt