October 08, 2018
I'm trying to compile the example

    import std.experimental.allocator.building_blocks.free_list : FreeList;
    theAllocator = allocatorObject(FreeList!8());

at https://dlang.org/phobos/std_experimental_allocator.html but fails first because of missing import

    import std.experimental.allocator : allocatorObject, theAllocator;

and then, when adding this import, it fails again with the error

/home/per/Work/knet/phobos-next/snippets/gctester.d(127,40): Error: template instance `FreeList!8` does not match template declaration `FreeList(ParentAllocator, ulong minSize, ulong maxSize = minSize, Flag adaptive = No.adaptive)`

Why is this example missing the `ParentAllocator` template parameter and what is the preferred type for `ParentAllocator`?
October 08, 2018
On Monday, 8 October 2018 at 21:50:33 UTC, Per Nordlöw wrote:
> I'm trying to compile the example
>
>     import std.experimental.allocator.building_blocks.free_list : FreeList;
>     theAllocator = allocatorObject(FreeList!8());
>
> at https://dlang.org/phobos/std_experimental_allocator.html but fails first because of missing import
>
>     import std.experimental.allocator : allocatorObject, theAllocator;
>
> and then, when adding this import, it fails again with the error
>
> /home/per/Work/knet/phobos-next/snippets/gctester.d(127,40): Error: template instance `FreeList!8` does not match template declaration `FreeList(ParentAllocator, ulong minSize, ulong maxSize = minSize, Flag adaptive = No.adaptive)`
>
> Why is this example missing the `ParentAllocator` template parameter and what is the preferred type for `ParentAllocator`?

ParentAllocator can be anything preferred types don't really make sense in a composable design, but it's probably best to go with something like GCAllocator, Mallocator, (Mmap, Sbrk etc.) something that asks the system for more memory for the last fallback so you don't run out of memory.