View source code
Display the source code in rt/lifetime.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function rt.lifetime._d_allocmemory

Allocate memory using the garbage collector

extern(C) void* _d_allocmemory (
  ulong sz
);

DMD uses this to allocate closures:

void f(byte[24] x)
{
    return () => x; // `x` is on stack, must be moved to heap to keep it alive
}

Parameters

NameDescription
sz number of bytes to allocate

Returns

pointer to sz bytes of free, uninitialized memory, managed by the GC.

Authors

Walter Bright, Sean Kelly, Steven Schveighoffer

License

Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)