On Tuesday, February 24, 2015 17:57:12 Jacob Carlborg via Digitalmars-d-learn wrote: > On 2015-02-24 10:20, Jonathan M Davis via Digitalmars-d-learn wrote: > > > No, it's not documented. I really should put it up on the wiki. The current > > process is that if the replacement for the symbol is being introduced at the > > same time, the old symbol will be marked as deprecated for a release (so > > that it's possible for code to build on both the latest release and on > > master without getting deprecation messages with either). If there is no > > replacement, or the replacement already exists, then that's not necessary. > > After that, the symbol is deprecated but documented for about a year. Then > > it's undocumented but remains there and deprecated for about another year, > > and then it finally gets removed entirely. > > Is the symbol deprecated right away or is there some kind of "scheduled > for deprecation <date>" in the documentation?
Normally, the symbol is deprecated right away, because using a deprecated symbol just results in a message being printing, but if a new symbol is being introduced to replace the deprecated one at the same time that the old symbol is deprecated, then we'll mark it as "scheduled for deprecation" in the docs so that a project has a way to be built with both the latest release and master without getting an deprecation messages. Previously, we hadn't been doing that, but it caused Vladmir some problems when a symbol that he was using in dfeed (or some other similar project) was in a template and ended up flooding his console with deprecation messages, and he needed to be able to build with both the latest release and with master. So, the process was adjusted to take that into account. Regardless, when a symbol is either marked as "scheduled for deprecation" in the docs or outright deprecated, a date is usually put in the docs for when it will be moved to the next deprecation stage, though in the case of "scheduled for deprecation," there's a decent chance that it'll be marked with the next release number rather than a date, since the idea there is to give folks a release of leeway so that they can avoid deprecation messages when building with master rather than give them a particular period of time to change their code before the symbol goes away, as is the case with symbols that are actually deprecated. - Jonathan M Davis