[Issue 19057] 2.079 changelog variadic template and default arguments

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jul 5 20:32:27 UTC 2018


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

Jonathan M Davis <issues.dlang at jmdavisProg.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |issues.dlang at jmdavisProg.co
                   |                            |m

--- Comment #5 from Jonathan M Davis <issues.dlang at jmdavisProg.com> ---
Honestly, I would guess that far more code has been written to take advantage
of the new behavior since it was released than was ever purposefully written to
use the old behavior. I think that many (most?) of us had no clue that there
was any way to use default arguments with variadic templates and IFTI prior to
the 2.079 release, and many were very interested in the new behavior, because
it fixes the file and line problem. So, changing the behvior back (as would
have to be done to deprecate it) would definitely break existing code (whereas
I question that much code was broken with the change in 2.079), and we've now
had three major releases with the new behvior. So, I don't think that it makes
any sense to try and deprecate the old behavior at this point.

Clearly, the fact that this was a breaking change was not properly caught, and
we should have deprecated the old behavior before introducing the new. But
while that was definitely a screw-up, I don't see how it makes much sense to
backtrack now.

The new behavior has been out for three releases and is something that enough
folks were looking for that I expect that there are quite a few folks using it
now. So, if anything, if we were to decide that the current behavior is
undesirable, then we arguably need a deprecation warning for that, not the old
behavior.

--


More information about the Digitalmars-d-bugs mailing list