This code compiles and runs.
---
struct D
{
static int a;
}
struct C
{
int h;
D get()
{
assert(h);
assert(false);
}
alias get this;
}
void main(string[] args)
{
if (C.a){}
}
---
get() is not executed but in first place that should not compile as in C.a there's not valid this context.