Deprecation policy

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 4 13:42:17 PST 2016


On Thursday, 4 February 2016 at 11:29:59 UTC, Marc Schütz wrote:
> On Wednesday, 3 February 2016 at 19:25:20 UTC, Jonathan M Davis 
> wrote:
>> Now, in this particular case, you're talking about features 
>> that were warned about starting in 2.067, which was released 
>> at the end of March of last year. Removing them now would be 
>> awfully quick. The deprecation cycle in Phobos is two years 
>> long so that folks have plenty of chance to update their code, 
>> and older code that's not well maintained has some chance of 
>> compiling when it is finally brought up to date. So, I'm 
>> inclined to think that it's way too early to remove .sort or 
>> .reverse from the language.
>>
>
> Sure, I'm not suggesting to remove them yet, but they need to 
> get through all stages first, and any delay will push the date 
> we can finally get rid of them further back. The next stage is 
> "deprecated". Would that be ok now?
>
> Btw, this is the PR that caused my question:
> https://github.com/D-Programming-Language/dlang.org/pull/1205

Well, warning and deprecated aren't exactly in a continuum. If 
something is a warning, then it fails to compile with -w, whereas 
if it's deprecated, it'll always compile but will print out a 
message unless -d is used. And much as the table seems to claim 
that most stuff went from deprecated to error, I'm pretty sure 
that several of them went from warning to error. So, I don't 
think that there's exactly a clear progression of stages here.

Regardless, I see no problem with making using .sort or .reverse 
result in a deprecation message in addition to it being a warning 
(removing the warning would make code that didn't compile before 
start compiling and affect compile-time introspection). Not 
everyone builds with warnings turned on, whereas everyone would 
see the deprecation messages, so more people would notice if it 
were also explicitly deprecated. But we can't make it an error or 
remove it for a while yet IMHO.

- Jonathan M Davis


More information about the Digitalmars-d mailing list