[Mono-bugs] [Bug 662108] New: mcs emits invalid IL on as operator for nullable types
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Jan 3 14:37:41 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=662108
https://bugzilla.novell.com/show_bug.cgi?id=662108#c0
Summary: mcs emits invalid IL on as operator for nullable types
Classification: Mono
Product: Mono: Compilers
Version: SVN
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: msafar at novell.com
ReportedBy: gnorton at novell.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
marek,
The following C#:
using System;
class T {
public static string Convert (int a) {
return Convert (a as int?);
}
public static string Convert (int? a) {
return null;
}
}
for the T:Convert(int) method emits:
.method public static hidebysig
default string Convert (int32 a) cil managed
{
// Method begins at RVA 0x20f4
// Code size 17 (0x11)
.maxstack 8
IL_0000: ldarg.0
IL_0001: newobj instance void valuetype
[mscorlib]System.Nullable`1<int32>::'.ctor'(!0)
IL_0006: unbox.any valuetype [mscorlib]System.Nullable`1<int32>
IL_000b: call string class T::Convert(valuetype
[mscorlib]System.Nullable`1<int32>)
IL_0010: ret
} // end of method T::Convert
The unbox.any is invalid, csc doesn't emit it (altho it does a local store, but
I presume thats for the debugger).
This affects monotouch as well, so any chance of a fix on 2.6 as well as
master/2.8? Thanks
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list