On Friday, 5 August 2016 at 06:12:24 UTC, ZombineDev wrote:
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 */

tbh, i'm not a big fan of "{}" initialization syntax. it looks so out of place for me that i didn't even used it once (the bug i found was from alien code ;-).

besides, all this thread looks like a thing that is curing symptoms for me. by introducing general named arguments support, structure ctors with arbitrary fields comes naturally then (not without some code, but it will *look* naturally).

i.e. names args will allow to call any function like `foo(b:42, a:"hi")`, and then autocreated struct ctors should not be an exception.

sorry for not being constructive, but you asked, and i again can't resist the temptation.

Reply via email to