2 // Test for conversions that were supposed to be explicit operator
3 // conversions on UIntPtr and IntPtr, but due to historical reasons
4 // ended up in the CSC compiler.
6 // See bug http://bugzilla.ximian.com/show_bug.cgi?id=59800 for details
8 // The conversions are:
22 UIntPtr a
= (UIntPtr
) 1;
25 sbyte _sbyte
= (sbyte) a
;
26 short _short
= (short) a
;
30 IntPtr _intptr
= (IntPtr
) 1;
31 ulong _ulong
= (ulong) _intptr
;
34 UIntPtr _uptr
= (UIntPtr
) _sbyte
;
35 _uptr
= (UIntPtr
) _short
;
36 _uptr
= (UIntPtr
) _int
;
39 static void Compile ()
41 IntPtr a
= (IntPtr
) 1;
45 static void M (long l
){}
46 static void M (UInt64 l
){}
47 static void M (object o
){}