Programming in D, page 155. shared static this() fails
monkyyy
crazymonkyyy at gmail.com
Wed Jul 30 18:13:43 UTC 2025
On Wednesday, 30 July 2025 at 18:00:39 UTC, H. S. Teoh wrote:
> On Wed, Jul 30, 2025 at 10:54:15AM -0600, Jonathan M Davis via
> Digitalmars-d-learn wrote: [...]
>> immutable int[] i;
>>
>> shared static this()
>> {
>> immutable(int)[] temp;
>> temp ~= foo();
>> temp ~= bar();
>> i = temp;
>> }
>>
>> But even the shared static constructor isn't allowed to mutate
>> the value of i. It's allowed to initialize it exactly once.
> [...]
>
> In that case, there is a bug:
>
> ```
> static immutable int[] data;
> shared static this() {
> data = [ 1 ];
> data = [ 2 ]; // should not compile, but currently does
> }
> ```
>
>
> T
please dont "fix" that; navigating the ct-gc type system is a bit
tricky as is Id hate to see one of the useful bugs be destoried
on accident
More information about the Digitalmars-d-learn
mailing list