On Sunday, 22 January 2017 at 03:42:21 UTC, Ali Çehreli wrote:
On 01/21/2017 07:22 PM, Basile B. wrote:
[...]
Wow! Thanks.
I know about 'alias this' but this (pun!) is new to me. TIL
indeed and WAT!!!! (four exclamation marks is right in this
case. :o) )
import std.stdio;
struct S {
void foo(this a = () {
static assert(is(this)); // 'this' is a type
return S();
}()) {
static assert(is(typeof(this))); // 'this' is an
expression
writeln("foo called for ", this);
}
// WAT!!!!
}
void main() {
auto s = S();
s.foo(s);
}
Ali
Same mood. I'm quite astonished to see that something like that
still can be discovered, years after the language creation.