[Mono-bugs] [Bug 80026][Wis] New - Operator override not applied to null

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Nov 24 03:37:19 EST 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by charlie at nunit.com.


--- shadow/80026	2006-11-24 03:37:19.000000000 -0500
+++ shadow/80026.tmp.9915	2006-11-24 03:37:19.000000000 -0500
@@ -0,0 +1,41 @@
+Bug#: 80026
+Product: Mono: Compilers
+Version: 1.2
+OS Details: 
+Status: NEW   
+Priority: Wishlist
+Component: C#
+AssignedTo: rharinath at novell.com                            
+ReportedBy: charlie at nunit.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: Operator override not applied to null
+An operator override defined on a user type does not apply when the
+argument is explicitly null.
+In NUnitLite, the Constraint type overrides operator ! as follows:
+public static Constraint operator !(Constraint m)
+    return new NotConstraint(m == null ? new EqualConstraint(null) : m);
+The following fails to compile...
+Assert.That( 42, !(Constraint)null );
+The following workaround compiles successfully
+Constraint x = null;
+Assert.That( 42, !x );
+This is a bit of an odd case, but it does compile under the microsoft

More information about the mono-bugs mailing list