Mhm. I like the idea of function supersession.
Basically, I just don't
think we should call a function deprecated unless it actually is indeed
deprecated, i.e., no longer used anywhere in the core. Theoretically, a
function that is deprecated in the core should not show any warnings
whatsoever when testing without extensions.
+1. Things should be deprecated, or not deprecated.
If something is deprecated, it should not be used whatsoever in core
or extensions (that are in the Wikimedia repo). It should be the
person adding the wfDeprecated()'s responsibility to ensure that there
are no uses in core or extensions.
I am not a fan of hidden "Deprecated in some future version" thingies.
If there is something wrong enough with the code to deprecate it, it
should be deprecated immediatly. I do think its ok to occasionally
have "It's ok to use this function in old code, but new code should
use other function x", but such code should at most have an
@deprecated on it. It shouldn't generate warnings until such a time as
it is no longer used anywhere in core.
If something deprecated is still used in core, it is perhaps a sign
that whatever is replacing the deprecated function isn't a sufficient
replacement.
--
-Bawolff