On Friday, 9 January 2015 at 18:25:42 UTC, John Colvin wrote:
struct S { void* p; }void main() { S s;auto a = cast(void*)s; //Error: e2ir: cannot cast s of type S to type void*} Is there are a good reason for this being disallowed?
You'd expect `cast(void*)s == s.p`? That doesn't work for any type of p. You can do it with a slightly fancier (and more dangerous) cast: `*cast(void**)&s`.