[Mono-bugs] [Bug 643377] EqualityComparer<T> Attempts to JIT compile when deployed to the device

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Oct 3 11:30:59 EDT 2010



Jonathan Pryor <jpryor at novell.com> changed:

           What    |Removed                     |Added
                 CC|                            |jpryor at novell.com

--- Comment #1 from Jonathan Pryor <jpryor at novell.com> 2010-10-03 15:30:58 UTC ---
The short answer is that you can't do that; see:


You can only use Comparer<T>.Default/EqualityComparer<T>.Default/etc. for
reference types (possibly, I forget) a predefined set of value types (e.g.
using EqualityComparer<int>.Default *may* work; again, I forget), but
user-defined value types will NOT work.

Removing the linker won't actually fix the problem; the underlying problem is
that EqualityComparer<T>.Default requires runtime generation and execution of
code, e.g.:


Which is akin to doing 'new GenericEqualityComparer<BusinessObjectKey>()' but
constructing 'typeof(GenericEqualityComparer<BusinessObjectKey>)' at runtime;
consequently, Mono's AOT code doesn't "see" the
GenericEqualityComparer<BusinessObjectKey> type, and thus doesn't generate

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