import std.array;
import std.range;

enum nelems = 10_000_000;

void main(string[] args) {
    int[] x;
    if(args.length > 1 && args[1] == "appender")
    {
        Appender!(int[]) app;
        foreach(i; 0..nelems)
            app.put(i);
        x = app.data;
    }
    else if(args.length > 1 && args[1] == "appendarr")
    {
        Appender!(int[]) app;
        foreach(i; 0..nelems/4)
        {
            int[4] e;
            e[0] = i * 4;
            e[1] = i * 4 + 1;
            e[2] = i * 4 + 2;
            e[3] = i * 4 + 3;
            app.put(e[]);
        }
        x = app.data;
    }
    else
    {
        foreach(i; 0..nelems)
            x ~= i;
    }
    assert(x.length == nelems);
    foreach(i; 0..nelems)
        assert(x[i] == i-1);
}
