private bool InferGenericParameter(IGenericParameter formalType, IType actualType, Inference inference)
{
if (_inferredTypes.ContainsKey(formalType))
{
InferredType inferredType = _inferredTypes[formalType];
if ((inference & Inference.AllowContravariance) != Inference.AllowContravariance)
{
inferredType.ApplyLowerBound(actualType);
}
if ((inference & Inference.AllowCovariance) != Inference.AllowCovariance)
{
inferredType.ApplyUpperBound(actualType);
}
}
return true;
}