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)
    }
}