// Compiler options: -unsafe // // Checks for an implicit void * conversion during an // explicit conversion // using System; namespace IntPtr_Conv { struct FooStruct { int x; } class Class1 { public static int Main(string[] args) { IntPtr p = IntPtr.Zero; unsafe { FooStruct* s = (FooStruct*) (p); } return 0; } } }