The problem:
interface ICovariant<out R>
{
// The following statement generates a compiler error
// because you can use only contravariant or invariant types
// in generic constraints.
// void DoSomething<T>() where T : R;
}
Why is the generic constraint on methods in this case not allowed.
EDIT: Lol I found the answer, Generic type "T" in the method is actually an argument (or an input) and hence it is not covariant.