<br><br><div class="gmail_quote">On Tue, Jun 22, 2010 at 08:38, Jonathan M Davis <span dir="ltr"><<a href="mailto:jmdavisProg@gmail.com">jmdavisProg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">Jonathan M Davis wrote:<br>
<br>
> Okay. If you call until like so<br>
><br>
> str.until('\"')<br>
><br>
> you get a Until!(pred,string,char). I want to turn that into a string.<br>
> array() doesn't seem to do the trick right now. It used to work, but now<br>
> it gives me<br>
><br>
> main.d(47): Error: template std.array.array(Range) if (isForwardRange!<br>
> (Range)) does not match any function template declaration<br>
> main.d(47): Error: template std.array.array(Range) if (isForwardRange!<br>
> (Range)) cannot deduce template function from argument types !()(Until!<br>
> (pred,string,char))<br>
>I should say that array() used to work if you used to!string on the result,</div></div>
but in either case, it won't compile for me now with DMD 2.047 (it did with<br>
DMD 2.046) if I feed the result of until() to array(). Maybe it's a bug, or<br>
maybe I've just been doing the conversion in the wrong way in the first<br>
place, but I don't know how to do it now.<br><font class="Apple-style-span" color="#888888"><br></font></blockquote><div><br></div><div>I got this error also while installing 2.047. I think the new definition of a forward range asks for a .save() member. And I guess some ranges where not converted. std.range.repeat is one, like cycle. It seems like Until is another.</div>
<div><br></div><div>Maybe for repeat/cycle that was a conscious decision? I'll file a bug anyway.</div><div><br></div><div><a href="http://d.puremagic.com/issues/show_bug.cgi?id=4362">http://d.puremagic.com/issues/show_bug.cgi?id=4362</a></div>
<div><a href="http://d.puremagic.com/issues/show_bug.cgi?id=4363">http://d.puremagic.com/issues/show_bug.cgi?id=4363</a></div><div><br></div><div>Philippe</div><div><br></div><div> </div></div>