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

2010-08-09 Thread Jonathan M Davis
On Monday, August 09, 2010 04:31:21 bearophile wrote: > Jonathan M Davis: > > Well, the requirement for save() being part of a forward range is fairly > > recent, and a bunch of ranges which are supposed to be forward ranges > > don't have them even though they're supposed to. The change was made >

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

2010-08-09 Thread Lars T. Kyllingstad
On Mon, 09 Aug 2010 07:31:21 -0400, bearophile wrote: > Jonathan M Davis: >> Well, the requirement for save() being part of a forward range is >> fairly recent, and a bunch of ranges which are supposed to be forward >> ranges don't have them even though they're supposed to. The change was >> made

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

2010-08-09 Thread bearophile
Jonathan M Davis: > Well, the requirement for save() being part of a forward range is fairly > recent, > and a bunch of ranges which are supposed to be forward ranges don't have them > even though they're supposed to. The change was made fairly close to the > release > of 2.047, I believe, and

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

2010-08-09 Thread Jonathan M Davis
On Monday 09 August 2010 01:13:30 Pelle wrote: > 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. Well, the requirement for save() being part of a forward range is fairly recen

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

2010-08-09 Thread Pelle
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

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

2010-08-08 Thread bearophile
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):