https://issues.dlang.org/show_bug.cgi?id=17635
--- Comment #6 from David Nadlinger <c...@klickverbot.at> --- (In reply to David Nadlinger from comment #5) > After a quick glance, I'm not sure whether this is indeed what is at fault > here. If it was indeed getIndirection() that was at fault, shouldn't it then > also be used to decompose aggregate members in traverseIndirections? Looking at my old changes, that used to indeed be the case, before I removed the corresponding check in https://github.com/dlang/dmd/commit/fa6898c3feb1c500085d73df716b9a1ce9e4afa1. It seems like my fix was indeed suboptimal/wrong, in that it left the code in an overly conservative state, and I suppose it might be easier to start from Kenji's original code again than from what I did. --