DIP 1013: The Deprecation Process -- Community Review Round 1
Mike Franklin
slavo5150 at yahoo.com
Thu Apr 5 14:42:56 UTC 2018
On Monday, 2 April 2018 at 07:05:45 UTC, Mike Parker wrote:
> DIP 1013 is titled "The Deprecation Process".
>
> https://github.com/dlang/DIPs/blob/d8f6bfa1810c9774bd7d3b3dc6a7a6776ed5e17e/DIPs/DIP1013.md
I think there should be some clarification on the stages of
deprecation. For example, something like this:
Stage 1: T0 - Start of deprecation
1. The deprecated feature is added to the Deprecated Features
page to notify the public that a decision has been made to
deprecate the feature.
2. Pull requests are submitted to update relevant sections of
the documentation notifying readers that the feature has been
deprecated.
3. Pull requests are submitted to remove all usages of the
deprecated feature from DLang repositories.
4. Pull requests are submitted to cause the compiler to emit
deprecation messages for any usage of the deprecated feature, and
to update the Deprecated Features page with the release version
of this change. A changelog entry is also required at this time.
Stage 2: T0 + 5 non-patch releases
1. Pull requests are submitted to cause the compiler to emit
error messages for any usage of the deprecated feature, and to
update the Deprecated Features page with the release version of
this change. A changelog entry is also required at this time.
Stage3: T0 + 10 non-patch releases
1. Pull requests are submitted to remove all knowledge of the
deprecated feature from both the documentation and the
implementation. The Deprecated Features page is updated with the
release version of this change. A changelog entry is also
required at this time.
> In order to facilitate on schedule deprecations, a comment of
> the format @@@DEPRECATED_[version]@@@ should be added to the
> top of the code to be removed/disabled.
Is `[version]` the version in which the deprecation took place,
or the future version in which the next stage is to take place.
For example, if I'm deprecating a feature in 2.080, should
`[version]` be 2.080, or 2.085 (the version in which the features
is changed to an error)?
Mike
More information about the Digitalmars-d
mailing list