1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#![no_std] use core::alloc::{GlobalAlloc, Layout as L}; pub struct Alleakator<P: GlobalAlloc> { p: P, } type B = *mut u8; unsafe impl<P: GlobalAlloc> GlobalAlloc for Alleakator<P> { unsafe fn dealloc(&self, _: B, _: L) { //do absolutely nothing } unsafe fn alloc(&self, a: L) -> B { self.p.alloc(a) } unsafe fn realloc(&self, a: B, b: L, c: usize) -> B { self.p.realloc(a, b, c) } unsafe fn alloc_zeroed(&self, a: L) -> B { self.p.alloc_zeroed(a) } }