On Friday, 13 March 2020 at 17:05:32 UTC, Mike Parker wrote:
On Friday, 13 March 2020 at 16:11:53 UTC, wjoe wrote:
On Friday, 13 March 2020 at 16:04:06 UTC, Mike Parker wrote:
On Friday, 13 March 2020 at 15:16:06 UTC, wjoe wrote:

   bindSymbol(&apiVersion, "VersionOfAPI");
}



Is it possible to convince the compiler to look the other way while binding @safe functions from the plugin ?

It probably has nothing to do with @safe, but is because of the void**.

bindSymbol(cast(void**)&apiVersion, "VersionOfAPI");

Than works, thanks :)
But isn't apiVersion a function pointer ?

Yes, but when you take the address of *any* kind of pointer, you can't assign it to void** without a cast.

Didn't know that. I'm curious as to why this is the case.
This also means that LoadPlugin() can't be @safe - or at least the call to bindSymbol.

Thanks for the reply.

Reply via email to