deprecate deprecated?
Leandro Lucarella
leandro.lucarella at sociomantic.com
Sun Nov 11 05:18:25 PST 2012
On Wednesday, 7 November 2012 at 07:03:55 UTC, monarch_dodra
wrote:
> On Tuesday, 6 November 2012 at 23:56:13 UTC, Walter Bright
> wrote:
>> I know there's been some long term unhappiness about the
>> deprecated attribute - it's all-or-nothing approach, poor
>> messages, etc. Each change in it changes the language and the
>> compiler.
>
> I *just* had a conversation about this, but there *needs* to be
> a way to to tell the compiler: "don't use deprecated stuff": If
> it merely issues a warning, then you'll end up calling
> deprecated code, because traits will answer positively to
> something that is actually deprecated:
>
> For example if a range has "deprecated opIndex", and you try a
> search on that range, the implementation will take the RA
> road...
>
> I had proposed a "three state -d":
> -- : Deprecated stuff just can't be used
> -d : You can use deprecated stuff, but you get no warning
> -dw : You can use deprecated stuff, and are served with a
> warning
BTW, I already implemented that and is available as a pull
request (I just called the option -di to follow the naming of
-wi).
https://github.com/D-Programming-Language/dmd/pull/1185
This pull request is available since July 2011 (was pull #248
back then), and I'm trying to convince Walter to merge it since
then without any success. I'm really glad this finally came up
here, maybe he finally understand the importance of having an
usable deprecated implementation :)
BTW, I think the default should be to have deprecations as
warnings and not the other way around, but since I at least have
the option to make them warnings, I'm fine.
More information about the Digitalmars-d
mailing list