I can't figure out why this code works:
union A {
int* b;
float c;
}
int fun(A a) @safe {
return *(()=>a.b)();
// return *a.b; //Complains about pointer type overlap
}
I tried to find out how @safe
should be handled in this scenario, and found lambda's could be denoted as @trusted, but this even works without a @trusted
denotation. Am I missing something?