Problem with std.array(std.regex.splitter())

Pelle pelle.mansson at gmail.com
Mon Aug 9 01:13:30 PDT 2010


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.


More information about the Digitalmars-d-learn mailing list