You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
function checkTypeArgumentConstraints(typeParameters: TypeParameter[], typeArguments: TypeNode[]): boolean {
8977
+
let result = true;
8978
+
for (let i = 0; i < typeParameters.length; i++) {
8979
+
let constraint = getConstraintOfTypeParameter(typeParameters[i]);
8980
+
if (constraint) {
8981
+
let typeArgument = typeArguments[i];
8982
+
result = result && checkTypeAssignableTo(getTypeFromTypeNode(typeArgument), constraint, typeArgument, Diagnostics.Type_0_does_not_satisfy_the_constraint_1);
8984
8983
}
8985
8984
}
8985
+
return result;
8986
8986
}
8987
8987
8988
8988
function checkTypeReferenceNode(node: TypeReferenceNode | ExpressionWithTypeArguments) {
@@ -8991,9 +8991,11 @@ namespace ts {
8991
8991
if (type !== unknownType && node.typeArguments) {
8992
8992
// Do type argument local checks only if referenced type is successfully resolved
8993
8993
forEach(node.typeArguments, checkSourceElement);
8994
-
let symbol = getNodeLinks(node).resolvedSymbol;
8995
-
let typeParameters = symbol.flags & SymbolFlags.TypeAlias ? getSymbolLinks(symbol).typeParameters : (<TypeReference>type).target.localTypeParameters;
0 commit comments