What    |Removed                     |Added
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #3 from 2011-12-21 10:33:37 PST ---
Now in DMD 2.057 this works:

import std.stdio, std.algorithm, std.conv, std.range, std.string;
void main() {
    auto r = map!("to!string(a)")(iota(20));
    //string result = join(array(r), ""); // OK
    string result = join(r, ""); // error

This line:
auto r = map!("to!string(a)")(iota(20));
is also better written:
auto r = map!text(iota(20));

But this doesn't work still:

import std.range;
void main() {
    auto aa = [1:["hello", "red"], 2:["blue", "yellow"]];
    auto r2 = join(aa.byValue()); // error

To make this work there are two solutions:
1) Change byValue() to return a Range.
2) Change join() to accept an opApply too.

The first solution allows to use byValue in many other cases, so I think join()
is OK, and I close this bug report.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to