void dorecursive()
{
    recursive!"ratherLongSymbolNameToHitTheMaximumSymbolLengthEarlierThanTheTemplateRecursionLimit_";
}

void recursive(string name)()
{
    struct S {} // define type to kick off mangler
    static if (name.length <= (4 << 20))
        recursive!(name ~ name);
}
