After upgrading to Moq 4.7.137 the following scenario breaks:
public void Main()
{
new Mock<IBreak>().Object;
}
public interface IBreak
{
void DoStuff<T>(Implementation1<T> a);
void DoStuff<T>(Implementation2<T> a);
}
public abstract class BaseType<T>
{
}
public class Implementation1<T> : BaseType<T>
{
}
public class Implementation2<T> : BaseType<T>
{
}
After upgrading to Moq 4.7.137 the following scenario breaks: