Safe code doesnt seem to complain when it should

HuskyNator HuskyNator at protonmail.ch
Thu Jan 6 16:12:10 UTC 2022


I can't figure out why this code works:
```d
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](https://dlang.org/blog/2016/09/28/how-to-write-trusted-code-in-d/#:~:text=is%20used%20instead.-,%40trusted%20escapes,-A%20%40trusted%20escape), but this even works without a `@trusted` denotation. Am I missing something?


More information about the Digitalmars-d-learn mailing list