On 08/09/2010 12:50 AM, bearophile wrote:
This D2 code:
import std.regex: splitter, regex;
import std.array: array;
void main() {
array(splitter(", abc, de", regex(", *")));
}
Gives the errors:
test.d(4): Error: template std.array.array(Range) if (isForwardRange!(Range))
does not match any function template declaration
test.d(4): Error: template std.array.array(Range) if (isForwardRange!(Range))
cannot deduce template function from argument types !()(Splitter!(string))
Do you know what's wrong in it?
Bye and thank you,
bearophile
std.array.array() erroneously requires a forward range, where it should
require an input range.
Splitter also does not define save(), so it's not a forward range.