On 8/17/2011 8:26 AM, Steven Schveighoffer wrote:
On Wed, 17 Aug 2011 10:56:02 -0400, Mehrdad <wfunct...@hotmail.com> wrote:

On 8/17/2011 7:14 AM, Steven Schveighoffer wrote:
Casting is actually the correct solution.

if(auto irange = cast(InputRangeObject)collection)
{
   // now you can use irange
   if(collection.empty) // success!
   {
      ...
   }
}
The correct solution? It doesn't even compile. (See my last post, which was after the one you replied to.)

Oh, right, InputRangeObject is a template. Sorry, I forgot about that aspect.

So actually, that isn't possible if you are returning Object, you need to return the correct InputRange(T) type.

(in this case InputRange!int)

Another good reason to avoid class-based ranges :)

-Steve
Er, if they aren't supported then please just remove them altogether... hasn't that been the philosophy so far?

Reply via email to