<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0216</ErrorName>
  <Examples>
    <string>// CS0216: The operator `X.operator &lt;(X, int)' requires a matching operator `&gt;' to also be defined
// Line: 5

class X {
	public static X operator &lt; (X a, int b)
	{
		return null;
	}

	static void Main () {
	}
}
	
</string>
    <string>// CS0216: The operator `X.operator true(X)' requires a matching operator `false' to also be defined
// Line: 5

class X {
	public static bool operator true (X i)
	{
		return true;
	}

	static void Main ()
	{
	}
}
</string>
    <string>// CS0216: The operator `MyType.operator &gt;(MyType, MyType)' requires a matching operator `&lt;' to also be defined
// Line: 23

public struct MyType
{
	int value;

	public MyType (int value)
	{
		this.value = value;
	}

	public static bool operator == (MyType a, MyType b)
	{
		return a.value == b.value;
	}

	public static bool operator != (MyType a, MyType b)
	{
		return a.value != b.value;
	}
	
	public static bool operator &gt; (MyType a, MyType b)
	{
		return a.value &gt; b.value;
	}

	public static bool operator &gt;= (MyType a, MyType b)
	{
		return a.value &gt;= b.value;
	}	

	public override string ToString ()
	{
		return value.ToString ();
	}
}
</string>
    <string>// CS0216: The operator `Test.operator ==(Test, bool)' requires a matching operator `!=' to also be defined
// Line: 10

partial class Test
{
}

partial class Test
{
	public static bool operator == (Test lhs, bool rhs)
	{
		return false;
	}
}

</string>
    <string>// CS0216: The operator `Test.operator ==(Test, bool)' requires a matching operator `!=' to also be defined
// Line: 11

public abstract class Test
{
	public static bool operator == (Test lhs, bool rhs)
	{
		return false;
	}

	public static bool operator != (Test lhs, IDoNotExist rhs)
	{
		return !(lhs == rhs);
	}
}

</string>
  </Examples>
</ErrorDocumentation>