"Mike" wrote in message news:[email protected]...
This is exactly what I'm talking about. You claim to know what is and
isn't deprecated, but others in this community have stated otherwise. How
do you know? You got the information from somewhere, where did you get it?
Reading this newsgroup, discussion on github, and bugzilla.
Perhaps these features are not "deprecated", but "discouraged". We need
to know that too.
Many many features have been proposed for deprecation. Most of those
discussions have gone nowhere. Different people have different ideas about
what should be discouraged.
eg foreach_reverse
I'm in the process of modelling a 1500 page MCU datasheet in D. Each
field in each register is modeled with an "alias" statement. There will be
several hundred of these when I'm done. I already went down one path
based on the documentation. Then the community told me it was deprecated
and I should go the other way.
The community was wrong, it is not deprecated. The new syntax is generally
preferred because it is easier to read etc
So, I submitted a pull request to update the documentation, and it was
merged.
I was even going to take on the task of modifying the D Runtime to use the
supposedly "new" syntax, in an effort to be helpful. Now I'm not so sure
I should.
Updating the documentation to reflect best practices is always useful.
Changing existing code is less of a sure thing, although in this case I
doubt you'd get much opposition. If you're worried about wasting your time
with a pull request that gets rejected, start with one file and see if
there's any interest from those with commit access.
I also began building a class hierarchy based on the new(...) and
destroy(), based on the documentation. Only to find a day or so ago that
new(...) is discouraged/deprecated.
Unlike many of the officially deprecated features, this one is pretty easy
to ignore and doesn't seem to cause any bugs. This makes deciding what to
do with it rather unimportant.
So, it has an uncertain future and questionable value, and this would
probably mean a pull request using this in phobos would not be accepted.
You can still do whatever you like in your own code.
I don't really like updating the GDC wiki, migrating its bug reports, or
submitting pull request to fix DLang.org documentation, but I did/do it
because I care and I want these efforts to succeed.
The great thing about being a volunteer is that you can work on the things
you care about, and nothing else. The situation improves by more people
caring about the documentation, not by insisting that the people who don't
care work on it too.
Andrei declaring we should spend effort on different areas is only binding
for the non-volunteers, although it does help the community know that effort
in those areas is desired.