On Friday, 11 November 2022 at 14:19:31 UTC, Kagamin wrote:
Try this:
```

private:
        V[K] sharedTable;
        ref inout(V[K]) unsharedTable() inout
        {
                return *cast(inout(V[K])*)&sharedTable;
        }
```

Thanks, that worked! Feels like programming in C, though. If I could figure out how to initialize the AA explicitly, I could also remove the ref here. If I just remove the ref, the AA is always null. If I try to initialize it in the constructor, I get this:

src\syncaa.d(11,5): Error: `_d_monitorenter` cannot be interpreted at compile time, because it has no available source code

No idea why, it seems to happen if I try to use the AA in the constructor at all. Even when I just do `data_.remove(K.init);`

I also tried DMD 2.101.0-rc.1, using the new `new V[K]` syntax, same error there.

Reply via email to