std.string.join & co. do a character-by-character copy because hasLength!string is false

Jonathan M Davis jmdavisProg at gmx.com
Fri May 27 13:20:53 PDT 2011


On 2011-05-27 12:33, Andrei Alexandrescu wrote:
> On 5/27/11 2:00 PM, Jonathan M Davis wrote:
> > On 2011-05-27 11:51, Vladimir Panteleev wrote:
> [snip]
> 
> > Create a bug report and I'll look into it.
> > 
> > - Jonathan M Davis
> 
> Thank you, Vladimir and even more so Jonathan!

Well, I'm in the midst of working on revamping some of the string stuff 
anyway, so it makes perfect sense for me to look at it. Though doing that has 
definitely reminded me that someone needs to go through Phobos (particularly 
the pieces that get used by everything else) and make as much @safe, pure, and 
nothrow as currently possible. There's stuff in std.string which should be but 
can't be (though very little of it could even be nothrow thanks to 
UtfExceptions). Of course, the lack of conditional attributes mostly make that 
not work for templates anyway, but we could be doing a lot better. I guess 
that I'll have to put it on my todo list to go through Phobos and do that, but 
who knows when I'll get around to it.

The two features that I'd _really_ like to see implemented at this point are 
conditional attributes and deprecation with messages (including soft 
deprecation). They'd definitely make life easier and fix otherwise unfixable 
problems. But naturally, Walter's todo list is quite large and presumably 
quite larger than mine, so who knows when we'll get them. Well, we'll just 
have to do the best that we can in the interim, but some things just won't be 
feasible until those features are implemented.

- Jonathan M Davis


More information about the Digitalmars-d mailing list