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.