On Thursday, 4 August 2016 at 08:23:59 UTC, ketmar wrote:
On Thursday, 4 August 2016 at 07:22:27 UTC, ZombineDev wrote:
On Thursday, 4 August 2016 at 05:15:56 UTC, Patrick Schluter wrote:
This said, in C++ compound initialiser are implemented in some compiler as extension and are really problematic (object life time) and it would be probably similar in D

I would be interested to hear more about that. My (maybe naive) understanding tells me that there shouldn't be any problems:

there are: inline structure declaration is broken, see issue 16146. therefore it is clear that inline decl is using compeletely different codepath, not connected with calling struct ctor, and may be called "compiler extension" too.

sorry, i couldn't resist injecting one of my pet bugs here.

Thanks, for the bug report. It's important that it gets fixed if we're to proceed with this proposal.

I was actually looking for design issues. Assuming this bug gets fixed, and
S s = { a: var1, b: var2 }, becomes equivalent to:
S s = void;
s.a = var1; /* calls s.a postblit if necessary */
s.b = var2; /* calls s.b postblit if necessary */

Are there any *design* problems that I did not foresee, that make my proposal not worthwhile pursuing?

Reply via email to