When replace typedef to enum, it became impossible to compile a certain
portion.
dmd v2.057 Windows
--------------------------------------------
enum HANDLE : void* {init = (void*).init}
pure HANDLE int_to_HANDLE(int x)
{
return cast(HANDLE)x;
}
void bar()
{
HANDLE a = cast(HANDLE)1;// ok
HANDLE b = int_to_HANDLE(2);// ok
}
HANDLE c = cast(HANDLE)3;// ok
HANDLE d = int_to_HANDLE(4);// NG
--------------------------------------------
foo.d(17): Error: cannot implicitly convert expression (cast(void*)4u)
of type void* to HANDLE