On Monday, 6 November 2023 at 16:08:41 UTC, ryuukk_ wrote:
Here is how adam seems to be doing it:
https://github.com/adamdruppe/webassembly/blob/731a7033174127c0a6dd4f23eabdb440adab286b/arsd-webassembly/object.d#L650-L681
Specially here:
```D
void destroy(bool initialize = true, T)(T obj) if (is(T ==
class))
{
(..)
else
{
// Bypass overloaded opCast
auto ptr = (() @trusted => *cast(void**) &obj)();
rt_finalize2(ptr, true, initialize);
}
}
```
and for interface:
```D
cast(Object)obj
```
But i suspect you'll have to implement the whole typeinfo
Thanks, I found out later that I couldn't use the cast keyword