https://issues.dlang.org/show_bug.cgi?id=15500
--- Comment #6 from github-bugzi...@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 --