On Wed, 07 Nov 2012 15:26:20 -0600, Jonathan M Davis <[email protected]> wrote:

On Wednesday, November 07, 2012 14:16:26 monarch_dodra wrote:
I'm not going to propose a solution in this post, but I think
this is a good starting point for more discussion. Thoughts?

There's a relatively easy solution to this - just add the concept of soft and hard deprecation. Then, in additon to deprecate taking a message (which it finally does now), it could take a value indicating the level of deprecation.
e.g.

deprecated("use X instead", soft) void func();

or

deprecated("use X instead", hard) void func();

or

deprecated("use X instead", false) void func();

or

deprecated("use X instead", warning) void func();

or whatever we decided to use for the argument to indicate the level of
deprecation. But soft would mean that only a warning was given, whereas hard
would mean that you'd get an error. Then you make either soft or hard the
default (hard would keep the current behavior) so that if it's not provided,
that's what's used. You then have normal -> soft -> hard -> gone.

The problem is that when this was brought up before, Walter didn't want to do anything ilke this, because he thought that it complicated the feature too much. He liked deprecated being nice and simple. It probably doesn't help that he doesn't like the idea of anything being deprecated in Phobos, and Phobos
was the main reason that such a feature change was being requested.

So, I don't know what the odds of being able to get something like this are.
It's certainly what _I_ would like to see implemented though.

- Jonathan M Davis

Walter seems to like simplicity to the point that you have to work around many of the 'simple' features.

It's not 'simple' if you need to hack around it to get the same effect that it should have had in the first place.
--
Using Opera's revolutionary email client: http://www.opera.com/mail/

Reply via email to