--- Comment #1 from Leandro Lucarella <> 
2012-02-02 04:07:32 PST ---
> We already have so many options for deprecation and warnings, I am hard
> pressed to agree that adding more will help more than just add complexity.

The problem for me is, the way deprecated works now it's completely useless for
our workflow at least. We have programs that use libraries, those libraries get
updated often and sometimes things are deprecated.

If the programs are compiled with -d, you never get noticed about when
something is deprecated, but when they were actually removed, then you have to
give immediate attention to fix that part of the code, which might not be what
you want.

If programs are compiled without -d, then you get an error whenever something
is deprecated, then you have to give immediate attention to fix that part of
the code, which might not be what you want.

This forces you to change your priorities. Sometimes I need to update a library
because I need to use a new feature, but I have other priorities than fixing
all the deprecation errors.

For me the whole thing about deprecation is to *ease* the update path, not to
force it. If I want to force it, I just remove the stuff and that's it.

I think options are a matter of taste, I'm used to GCC so I can manage several
hundreds of options (and I even like the flexibility). What are you scared
about having more options? Are you concerned about complexity in code or just
about people being scared about dmd help message being too long?

If is the former, I think the patch makes the code simpler with the
introduction of the deprecation() function. If is the later, you could show a
simplified help and have an option to show the full help (--advanced-help or

Also I wouldn't mind *at all* making deprecation warnings by default if you
don't want to add more switches, or adding them to -wi or whatever, I just
think the current situation with deprecation is just the worse possible.

That said, I still would appreciate having the option of making deprecation
errors (because sometimes is useful to use it as a commit hook or some other
automatic testing).

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to