Adam D. Ruppe:
int* CreatePermanentInt() { int* i = malloc(int.sizeof); *i = 5; return i; }
In D malloc needs a cast void -> T*.In D a wrapper like this could help you avoid some mistakes making the code more DRY (untested):
T* cMalloc(T)() nothrow { return cast(T*)malloc(T.sizeof); } T* cCalloc(T)(in size_t n) nothrow { return cast(T*)calloc(n, T.sizeof); } auto i = cMalloc!int; auto j = cCalloc!int; Bye, bearophile