On 10/25/22 07:53, Adam D Ruppe wrote:
> On Tuesday, 25 October 2022 at 13:51:30 UTC, Andrey Zherikov wrote:
>>     A[] a = [A.init];
>
> This is a problem - this is referring to a static array instance, shared
> across all copies of B. You almost certainly don't want this.

Agreed. It should be fine when the elements are immutable as I've experimented with recently[1]:

struct Xml {
    string beg;
    string end = "/>";  // Shared by all instances;
                        // no allocation for some objects.
// ...
}

> As for why B() and B.init are different here... i don't know, probably
> some subtly of the compiler's implementation.

I think it's a bug.

Ali

[1] https://youtu.be/0JL9uT_XGZE?t=4260s

Reply via email to