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

Reply via email to