On Friday, 26 July 2013 at 14:46:23 UTC, bearophile wrote:
monarch_dodra:

I reacted to your bug entry.

Thank you very much for your comments. I am wrong all the time... I have written a small answer.


However, copy could be improved with the knowledge that a dchar can be streamed into a series of chars (EG, the way an appender!(char[]) can handle taking a dchar), and improved to handle cases it didn't handle before.

Is your improvement enough to solve this problem of mine?

import std.range, std.algorithm;
void main() {
    char[5] arr;
    auto r = 5.iota.map!(i => cast(char)(i + 'a'));
    static assert(is(typeof(r.front) == char)); // OK
    r.copy(arr[]); // error
}

Is that Issue 10718 to be closed, or do you suggest to turn it into an enhancement request for your proposed improvements of "copy" and "array"?

Bye,
bearophile

I suggest we change it to improvement. An different entry for "array" should be made though IMO.

Your example code (seems) to be failing because (apparently) "char[]" is not an output range for "dchar". eg: "char[].put(dchar)" won't compile, so that needs to be fixed first.

This improvement had been submitted before, and I had worked on it too, but it kind of fell on the side with more important fixes:
https://github.com/D-Programming-Language/phobos/pull/1000

I can put this back on my "todo" list, but to be honest, I have a few more important things I'd like to work on first.

Reply via email to