On Friday, 4 May 2018 at 19:12:16 UTC, ag0aep6g wrote:
If toDelegate isn't (always) @safe, how can you be sure that your wrapper is?

If it were @safe, the compiler would accept it.

Looking at the code, I believe there are several casts that the compiler can't verify but are used safely.

Also, TFunc may have an unsafe destructor.

If it's a delegate with an un-@safe destructor (how would that work? a captured context variable?), then it's already not @safe. If it's a function, it doesn't have a destructor. If it's a user-defined type with opCall, that's something to pay attention to, but it's beyond the scope of the original question.

Reply via email to