https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124157
--- Comment #5 from Iain Buclaw <ibuclaw at gcc dot gnu.org> ---
Also confirmed from -fdump-d-original output.
```d
// NOTE: Returns pointer
_d_assocarrayliteralTX!(int, string)
{
pure nothrow @safe Impl!(int, string)* _d_assocarrayliteralTX(int[]
keys, string[] vals)
{
// ...
}
}
// NOTE: ABI of aa parameter is: struct AA{void* ptr;}
values!(string, int)
{
auto pure nothrow @property @safe string[] values(inout(string[int])
aa)
{
return _aaValues(aa);
}
}
/// !!! BOOM: Passing pointer to function that accepts a struct.
void main()
{
string[] a = values(_d_assocarrayliteralTX([5], ["hello"]));
return 0;
}
```