<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS1961</ErrorName>
  <Examples>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C(A&lt;T&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	void C(A&lt;T&gt; a);
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;(A&lt;A&lt;T&gt;&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

delegate void B&lt;in T&gt; (A&lt;A&lt;T&gt;&gt; a);
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C(A&lt;T&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	void C(A&lt;T&gt; a);
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.A'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	A&lt;A&lt;T&gt;&gt; A { get; }
}
</string>
    <string>// CS1961: The covariant type parameter `V' must be invariantly valid on `Both&lt;U,V&gt;(Covariant&lt;None&lt;Contra&lt;V&gt;&gt;&gt;)'
// Line: 8

delegate T Covariant&lt;out T&gt; ();
delegate void Contra&lt;in T&gt; (T t);
delegate void None&lt;T&gt; (T t);

delegate void Both&lt;in U, out V&gt; (Covariant&lt;None&lt;Contra&lt;V&gt;&gt;&gt; b);
</string>
    <string>// CS1961: The covariant type parameter `T' must be contravariantly valid on `B&lt;T&gt;'
// Line: 8

interface A&lt;in T&gt;
{
}

interface B&lt;out T&gt; : A&lt;T&gt;
{
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;()'
// Line: 8

interface A&lt;T&gt;
{
}

delegate A&lt;A&lt;T&gt;&gt; B&lt;out T&gt; ();
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;(A&lt;T&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

delegate void B&lt;out T&gt; (A&lt;T&gt; a);
</string>
    <string>// CS1961: The covariant type parameter `T' must be contravariantly valid on `A&lt;T&gt;.B(T)'
// Line: 6

interface A&lt;out T&gt;
{
	void B(T t);
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;(A&lt;T&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

delegate void B&lt;in T&gt; (A&lt;T&gt; a);
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;()'
// Line: 8

interface A&lt;T&gt;
{
}

delegate A&lt;T&gt; B&lt;in T&gt; ();
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.A'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	A&lt;T&gt; A { get; }
}
</string>
    <string>// CS1961: The covariant type parameter `U' must be contravariantly valid on `D&lt;U&gt;()'
// Line: 8

interface I&lt;in T&gt;
{
}

delegate I&lt;U[]&gt; D&lt;out U&gt; ();
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;(A&lt;A&lt;T&gt;&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

delegate void B&lt;out T&gt; (A&lt;A&lt;T&gt;&gt; a);
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C()'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	A&lt;T&gt; C();
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be covariantly valid on `A&lt;T&gt;.B()'
// Line: 6

interface A&lt;in T&gt;
{
	T B();
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C()'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	A&lt;A&lt;T&gt;&gt; C();
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `A&lt;T&gt;.B(out T)'
// Line: 6

interface A&lt;out T&gt;
{
	void B(out T t);
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `InterfaceContravariat&lt;T&gt;.Prop'
// Line: 4

interface InterfaceContravariat&lt;in T&gt;
{
	T Prop { set; get; }
}
</string>
    <string>// CS1961: The covariant type parameter `U' must be contravariantly valid on `D&lt;U&gt;()'
// Line: 6

interface IContravariant&lt;in T&gt; { }

delegate IContravariant&lt;U[]&gt; D&lt;out U&gt; ();
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C()'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	A&lt;T&gt; C();
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be covariantly valid on `D&lt;T&gt;()'
// Line: 4

delegate T D&lt;in T&gt; ();
</string>
    <string>// CS1923: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C(A&lt;A&lt;T&gt;&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	void C(A&lt;A&lt;T&gt;&gt; a);
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be covariantly valid on `B&lt;T&gt;'
// Line: 8

interface A&lt;out T&gt;
{
}

interface B&lt;in T&gt; : A&lt;T&gt;
{
}
</string>
    <string>// CS1961: The covariant type parameter `V' must be contravariantly valid on `I&lt;V&gt;.Foo&lt;T&gt;(T)'
// Line: 6

interface I&lt;out V&gt;
{
	void Foo&lt;T&gt; (T t) where T : V;
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;()'
// Line: 8

interface A&lt;T&gt;
{
}

delegate A&lt;A&lt;T&gt;&gt; B&lt;in T&gt; ();
</string>
    <string>// CS1961: The contravariant type parameter `T' must be covariantly valid on `B&lt;T&gt;.A'
// Line: 8

interface A&lt;out T&gt;
{
}

interface B&lt;in T&gt;
{
	A&lt;T&gt; A { get; }
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C(A&lt;A&lt;T&gt;&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	void C(A&lt;A&lt;T&gt;&gt; a);
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C(A&lt;T&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	void C(A&lt;T&gt; a);
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be contravariantly valid on `B&lt;T&gt;.A'
// Line: 8

interface A&lt;in T&gt;
{
}

interface B&lt;out T&gt;
{
	A&lt;T&gt; A { get; }
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `A&lt;T&gt;.B(out T)'
// Line: 5

interface A&lt;in T&gt;
{
	void B(out T t);
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C()'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	A&lt;A&lt;T&gt;&gt; C();
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;()'
// Line: 8

interface A&lt;T&gt;
{
}

delegate A&lt;T&gt; B&lt;out T&gt; ();
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt; : A&lt;T&gt;
{
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `A&lt;T&gt;.B(ref T)'
// Line: 4

interface A&lt;out T&gt;
{
	void B(ref T t);
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.C(A&lt;T&gt;)'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	void C(A&lt;T&gt; a);
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `A&lt;T&gt;.B(ref T)'
// Line: 4

interface A&lt;in T&gt;
{
	void B(ref T t);
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.A'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt;
{
	A&lt;T&gt; A { get; }
}
</string>
    <string>// CS1961: The contravariant type parameter `T' must be invariantly valid on `B&lt;T&gt;.A'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;in T&gt;
{
	A&lt;A&lt;T&gt;&gt; A { get; }
}
</string>
    <string>// CS1961: The covariant type parameter `T' must be invariantly valid on `B&lt;T&gt;'
// Line: 8

interface A&lt;T&gt;
{
}

interface B&lt;out T&gt; : A&lt;T&gt;
{
}
</string>
  </Examples>
</ErrorDocumentation>