--- interface A{} void* a=cast(void*)5; A b=cast(A)a; //ok A c=cast(A)cast(void*)5; //error --- Last line gives Error: cannot cast `void*` to `A`. Is it intended?