On 2009-08-05 19:16:17 -0400, Jarrett Billingsley <[email protected]> said:

On Wed, Aug 5, 2009 at 7:00 PM, Michel Fortin<[email protected]> wr
ote:
Also, with implicit casts we wouldn't even need to bother about having a
different names for lazy and non-lazy results, we could just do:

       string[] parts = str.split();

and it would implicitly convert the lazy range to an array. Can this be d
one
with alias this? Would need to test.

       struct Range(T)
       {
               T[] toArray();
               alias toArray this;

               ... other range things here...
       }

Sadly it doesn't work.  I was hopeful when I found this works:

struct X { int x; alias x this; }
auto x = X(5);
int y = x; // works!

but if you alias a method that returns int to 'this', that line fails.

Looks pretty much like this bug. Put your vote on it.
<http://d.puremagic.com/issues/show_bug.cgi?id=2814>

There's also such an example in the original enhancement proposal for alias this from Andrei.
<http://d.puremagic.com/issues/show_bug.cgi?id=2631>

--
Michel Fortin
[email protected]
http://michelf.com/

Reply via email to