[Issue 20088] New: void[] cast unusable in betterC due to new __ArrayCast template
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Jul 27 08:41:01 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=20088
Issue ID: 20088
Summary: void[] cast unusable in betterC due to new __ArrayCast
template
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: blocker
Priority: P1
Component: druntime
Assignee: nobody at puremagic.com
Reporter: mail at skoppe.eu
---
struct S {
int i;
}
extern(C) int main()
{
S[2] s = [S(1),S(2)];
void[] v = cast(void[])s;
S[] p = cast(S[])v; // cast of void[] to S[] triggers __ArrayCast template
function
return 0;
}
---
/dlang/dmd/linux/bin64/../../src/druntime/import/object.d:4847: error:
undefined reference to
'_D4core8internal6string17TempStringNoAlloc3getMFNaNbNiNjNfZAa'
__ArrayCast is a templated function that drags in TempStringNoAlloc.get which
isn't available in betterC.
The example is silly but casts from void[] happen a lot in allocator code.
--
More information about the Digitalmars-d-bugs
mailing list