Bug 6637 – Postblits of static array elements are not called on function argument

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-09-09T09:13:00Z
Last change time
2012-05-07T21:13:40Z
Keywords
patch, wrong-code
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2011-09-09T09:13:45Z
struct S { static int spblit; this(this){ ++spblit; } } void test() { void func(S[3] sa){} S[3] sa; func(sa); // sa should be copied assert(S.spblit == 3); }
Comment #1 by k.hara.pg — 2011-09-09T09:36:08Z
Comment #2 by lovelydear — 2012-04-27T14:45:30Z
Like issue 6636, this fails on 2.059 unless compiled with -release option.
Comment #3 by github-bugzilla — 2012-05-07T19:43:30Z
Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/2f09427e321e1587fdebc983f25f8b4c78cd5f0d Issue 6637 - Postblits of static array elements are not called on function argument call element postblits of static array on function argument