Well, we're finally there. std.experimental.allocator is ready for review.
There are over 11KLOC (including unittests and ddoc source) to deal
with, so I wanted to give the community a head start in looking over it
prior to the official review period.
What std.experimental.allocator is:
* A hookable interface for allocating and releasing memory.
* A systematic and hierarchical approach to global allocation, spanning
the stack, thread-local storage, and process-level memory.
* A collection of quality implementations of typical memory allocation
strategies, including free lists, regions, bitmapped blocks, bucketized
size-specialized allocators, and more.
* A framework for easy assembly and experimentation with custom
allocation strategies.
* An integration of types within the allocation strategy, allowing
concrete allocators to exploit various characteristics of the types they
are allocating.
What std.experimental.allocator is not:
* An abstraction of lifetime management, e.g. transparently choosing
between tracing vs. reference counting.
* An abstraction of notions such as address, pointer, and reference.
Andrei