https://issues.dlang.org/show_bug.cgi?id=24052

Dennis <dkor...@live.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|DMD is slow to pass dlangui |DMD frontend inliner causes
                   |github pipelines            |major slowdown

--- Comment #5 from Dennis <dkor...@live.nl> ---
Actually, this looks like an issue with the frontend inliner, so no duplicate.
Reduction so far:

```D
struct EmbeddedResource
{
    string a;
    const ubyte[] b;
    string c;
}

EmbeddedResource[] embedResource(string resourceName)()
{
    immutable ubyte[] data = [0, 1, 2, 3, 4];
    immutable string resdir = "res";
    static if (data.length > 0)
        return [EmbeddedResource(resourceName, data, resdir)];
    else
        return [];
}

EmbeddedResource[] embedResources(string[] names)() {
    static if (names.length == 0)
        return [];
    static if (names.length == 1)
        return embedResource!(names[0])();
    else
        return embedResources!(names[0 .. $/2])() ~ embedResources!(names[$/2
.. $])();
}

enum string[] stringArray = () {
    string[350] result;
    static foreach (i; 0 .. result.length)
        result[i] = "test" ~ i.stringof;
    return result;
} ();

void main()
{
    embedResources!stringArray();
}

```

--

Reply via email to