looking for work-around: _d_assocarrayliteralTX segfault assigning a shared associative array an AA literal
    Steven Schveighoffer 
    schveiguy at gmail.com
       
    Wed Jun 14 02:14:59 UTC 2023
    
    
  
On 6/13/23 10:02 PM, Steven Schveighoffer wrote:
> I need to diagnose further, but most *likely* the problem is that the 
> typeinfo being passed is incorrect (I believe it's a TypeInfo_Shared, 
> but the function is expecting a TypeInfo_AssociativeArray)
> 
Further diagnosis is that the `TypeInfo` being passed in is still 
wrapped in a `TypeInfo_Shared`.
If you do `const aa = ["abc": "123"]` or `immutable aa = ["abc": "123"]` 
then the typeinfo is not wrapped in `TypeInfo_Const` or `TypeInfo_Shared`
This explains exactly why there is a bug.
I put the following line at the top of that function, and it fails in 
the `shared` case:
```d
assert(typeid(ti) == typeid(TypeInfo_AssociativeArray));
```
If there isn't a bug I'll file one.
-Steve
    
    
More information about the Digitalmars-d-learn
mailing list