As Walter mentioned in a recent pull request discussion [1], the first formal deprecation protocol we came up with for language changes looked something like this:
1. remove from documentation 2. warning 3. deprecation 4. error
(The "remove from documentation" step is a bit questionable, but that's not my point here.)
However, in the meantime deprecations were changed to be informational by default. You now need to explicitly need to pass -de to turn them into errors that halt compilation. Thus, I think we should simply get rid of the warning step, just like we (de facto) eliminated the "scheduled for deprecation" stage from the Phobos process.