[phobos] The future of std.demangle, std.loader, std.stdint?
Jonathan M Davis
jmdavisProg at gmx.com
Sat May 12 19:12:19 PDT 2012
On Sunday, May 13, 2012 03:41:11 Alex Rønne Petersen wrote:
> It's clear that core.demangle is going to replace std.demangle, but
> std.demangle hasn't been marked deprecated at all yet (and it was
> practically deprecated in 2010). Should we mark it deprecated now or
> just get rid of it entirely?
> Also, what about std.loader? It's not included in the documentation
> anywhere. I can't figure out if it's really supposed to be included in
> Phobos anymore.
> Further, std.stdint seems to have been superseded by core.stdc.stdint
> eons ago, too. What do?
std.stdint is clearly in the documentation with _no_ indicator that
core.stdc.stdint should be used. Please copy the documentation to
core.stdc.stdint and make sure that it's then one of the core modules whose
documentation is in the site (it's not right now). Then change std.stdint's
documentation so that it looks like std.contract's documentation (only
mentioning core.stdc.stdint instead of std.exception). And create pull
requests with those changes. We can't deprecate it yet, let alone remove it,
because we've given no warning or indication outside of the source file itself
that it's going anywhere. Since, all it takes it fix the problem in code is
fixing an import, you can probably mark it for as scheduled for deprecation in
August (3 months) rather than November (6 months - the norm).
Similarly, for std.demangle, you need to mark it as scheduled for deprecation
in its documentation but do nothing else to it, since it's not a straight
replacement/move of the module. The same length of time for scheduled for
deprecation is probably okay given how easy a switch it is to use
core.demangle (the only major difference being that you get a char instead of
a string out of the demangle function, and making core.demangle's demangle
function pure should fix that problem).
However, I really don't know anything about std.loader. It can't be _that_
important, since it's not in the docs, and it's not licensed with Boost, but I
don't know if we can just get rid of it or not. Even if we did get rid of it,
it would be best to mark it as deprecated first in case someone used it in
spite of it not being in the documentation.
- Jonathan M Davis
More information about the phobos