[Issue 2124] New: Using method or delegate from reduce! template.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri May 23 11:22:16 PDT 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2124
Summary: Using method or delegate from reduce! template.
Product: D
Version: 2.012
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: bugzilla at digitalmars.com
ReportedBy: bmyers at harryanddavid.com
Here's a transcript of Dee Girl's conclusion about this issue. She seems to
know what she's talking about:
This code does not work:
#!/home/yasuko/bin/rdmd -O -release
import std.algorithm;
class Sorter {}
class ExternalSorter : Sorter {
string Merge(string f1, string f2) {
return f1 ~ f2;
}
void Sort() {
string[] chunk_list = [ "a", "b" ];
auto mrg = &Merge;
auto retfile = reduce!(mrg)(chunk_list[0], chunk_list[1..$]);
}
}
void main(string[] args)
{
auto s = new ExternalSorter;
s.Sort;
}
But I know how to make it work because I look at the error message. You go to
std.algorithm and make NxNHelper from private to public. Then inside NxNHelper
also make For from private to public. Then code works.
Maybe bug report to Walter is necessary. Private should work because lookup is
in correct module. It is bug in compiler not library. Can you please? Thank
you, Dee Girl
--
More information about the Digitalmars-d-bugs
mailing list