[Issue 15500] default construction disabled for struct constructor with default arguments

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Jan 5 14:15:58 PST 2016


https://issues.dlang.org/show_bug.cgi?id=15500

--- Comment #6 from github-bugzilla at puremagic.com ---
Commits pushed to stable at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/0122225c1eb7b4c92a5060fefbc5cae498818d39
fix Issue 15500 - default construction disabled for struct constructor with
default arguments

- fix implementation of #5185, the new check should only
  be a deprecation warning for now, but inadvertently
  disabled default initialization (`S s;`) by setting
  sd.noDefaultCtor
- simplify logic and control flow (only need to check whether
  the first parameter has a default argument)
- still allow any kind of variadic constructor (doesn't make
  sense to distinguish C from D-style variadics)
  We might deprecate those called w/ zero arguments
  (`auto s = S();`) on the call-site, but disallowing them
  in general seems to drastic.
- Use a deprecation instead of a warning, since using
  the -dw switch as default we agreed to no longer abuse
  warnings for deprecations, so that people can cleanly compile
  with -w. Edgy people insisting on using -de have to immediately
  deal w/ deprecations.

https://github.com/D-Programming-Language/dmd/commit/e50f8aa63356b767c713b50c4d944e9b28345de7
Merge pull request #5331 from MartinNowak/fix15500

fix Issue 15500 - default construction disabled for struct constructor with
default arguments

--


More information about the Digitalmars-d-bugs mailing list