public void UserDefinedOperatorImplementedAsNativeOperatorIsNotInvoked() { AssertCorrect(@" class C1 { public static C1 operator+(C1 c1, C1 c2) { return null; } } void M() { C1 c1 = null, c2 = null; // BEGIN var c3 = c1 + c2; // END }", @" var $c3 = $c1 + $c2; ", metadataImporter: new MockMetadataImporter { GetMethodSemantics = m => m.IsOperator ? MethodScriptSemantics.NativeOperator() : MethodScriptSemantics.NormalMethod(m.Name) }); }