https://issues.dlang.org/show_bug.cgi?id=15272
--- Comment #11 from ag0ae...@gmail.com --- (In reply to ag0aep6g from comment #10) > Reduced a little further, showing that bucketCount gets corrupted: > ---- [...] > ---- And further, removing -inline from the equation (still needs -release -O): ---- import core.stdc.stdio: printf; void[] calloc_(size_t bc) nothrow pure { debug printf("%x\n", bc); /* prints "ffffffff", should print "1" */ return []; } void main() { try nop(); finally {} StringCache scache; size_t bucketCount = 1; void[]* buckets = &scache.buckets; *buckets = calloc_(bucketCount)[0 .. bucketCount]; printf(""); } void nop() {} struct StringCache { void[] buckets; } ---- --