AA vs __gshared

IchorDev zxinsworld at gmail.com
Thu Jul 27 15:57:51 UTC 2023


I've been getting a lot of segfaults from using associative 
arrays recently. The faults happen seemingly at random, and from 
pretty mundane stuff like `if(auto x = y in z)` that run very 
often:
```
Segmentation fault.
#0  0x0000555555670f4a in rt.aaA.Impl.findSlotLookup(ulong, scope 
const(void*), scope const(TypeInfo)) inout ()
#1  0x0000555555661662 in _aaInX ()
```

I suspect that this is because they've all been placed inside 
`__ghared` structs. Are DRuntime's AAs simply incompatible with 
`__gshared`? Do they need to be marked as `shared` to prevent 
these shenanigans?


More information about the Digitalmars-d-learn mailing list