Problem with std.array(std.regex.splitter())
Jonathan M Davis
jmdavisprog at gmail.com
Mon Aug 9 02:19:21 PDT 2010
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 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 it was missed for many ranges. It's mostly if not
entirely fixed in svn. Actually, if I try and compile Bearophile's code on my
machine (which has a fairly recent version of phobos), it compiles just fine. So,
I don't know if array() should require an input range or a forward range, but
the issue here has to do with recent changes to forward ranges which didn't make
it into all forward ranges. It should be fixed with 2.048.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list