[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:
> Hi,
> 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 mailing list