[Mono-bugs] [Bug 553650] New: TypeManager.IsValueTyep broken during bootstrap build
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Nov 8 14:18:16 EST 2009
http://bugzilla.novell.com/show_bug.cgi?id=553650
Summary: TypeManager.IsValueTyep broken during bootstrap build
Classification: Mono
Product: Mono: Compilers
Version: unspecified
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: miguel at novell.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
While implementing some .NET 4.0 I had to write this in mscorlib in
UnmanagedMemoryAccessor.cs:
return buffer.Read<byte> ((ulong) position);
This produces the following compiler error:
System.IO/UnmanagedMemoryAccessor.cs(300,32): error CS0453: The type `byte'
must be a non-nullable value type in order to use it as type parameter `T' in
the generic type or method
`System.Runtime.InteropServices.SafeBuffer.Write<T>(ulong, T)'.
This is because ConstraintChecker.CheckConstraints gets a false from calling
TypeManager.IsValueType () on the byte.
Notice that:
TypeManager.IsValueType (this_byte) returns false, but this_byte.BaseType ==
typeof (System.ValueType)
Which indicates that the the TypeManager.value_type is pointing to the newly
defined value_type, but somehow the type for the type parameter (byte) is set
to the host corlib "byte" type as opposed to the bootstrapping corlib "byte"
type.
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list