/*
PERMUTE_ARGS:
RUN_OUTPUT:
---
Success
---
*/
import core.stdc.stdio;
import core.stdc.math : isnan;
void test12826()
{
    string s, t;
    t = t ~ "1234567";
    s = s ~ "1234567";
    s ~= s;
    assert(s == "12345671234567", s);
    assert(t == "1234567", t);
}
int main()
{
    int[] a;
    for (int i = 0; i < 1000; i++)
    {
        a.length = a.length + 100;
    }
    foreach (v; a)
    {
        assert(v == 0);
    }
    float[] b;
    for (int i = 0; i < 2000; i++)
    {
        b.length = b.length + 100;
    }
    foreach (v; b)
    {
        assert(isnan(v));
    }
    destroy(a);
    destroy(b);
    a = null;
    for (int i = 0; i < 100000; i++)
    {
        a ~= i;
    }
    foreach (k, v; a)
    {
        assert(v == k);
    }
    b = null;
    for (int i = 0; i < 200000; i++)
    {
        b ~= i;
    }
    foreach (k, v; b)
    {
        assert(v == k);
    }
    destroy(a);
    destroy(b);
    test12826();
    printf("Success\n");
    return 0;
}