Crates.io | allocdeny |
lib.rs | allocdeny |
version | 0.1.0 |
source | src |
created_at | 2024-09-17 20:11:34.407364 |
updated_at | 2024-09-17 20:11:34.407364 |
description | Deny the use of crate `alloc` |
homepage | |
repository | |
max_upload_size | |
id | 1378090 |
size | 2,929 |
Deny the use of crate alloc
.
This crate exists solely to deny the use of the built-in alloc
crate.
This is useful if your library has different safety/soundness requirements
than those allowed by Rust's own alloc
.
The following code only compiles with this crate:
extern crate alloc;
alloc::allocdeny!();
When doing this, regular alloc is inaccessible.
Library authors who are doing their own thing and not relying on fn main() can simply expand this macro in their entry point wrapper. For example:
macro_rules! my_plugin {
() => {
alloc::allocdeny!();
extern "C" fn plugin_init() {
}
}
}
Then users of my_plugin!
will be unable to use alloc
!
You can also provide an unsafe
version of my_plugin
that does not expand
alloc::allocdeny!()
, if you want.