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/