File tree 1 file changed +6
-2
lines changed
1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -18768,8 +18768,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
18768
18768
// If none of the type arguments for the outer type parameters contain type variables, it follows
18769
18769
// that the instantiated type doesn't reference type variables.
18770
18770
if (result.flags & TypeFlags.ObjectFlagsType && !((result as ObjectFlagsType).objectFlags & ObjectFlags.CouldContainTypeVariablesComputed)) {
18771
- (result as ObjectFlagsType).objectFlags |= ObjectFlags.CouldContainTypeVariablesComputed |
18772
- (some(typeArguments, couldContainTypeVariables) ? ObjectFlags.CouldContainTypeVariables : 0);
18771
+ const resultCouldContainTypeVariables = some(typeArguments, couldContainTypeVariables);
18772
+ // The above check may have caused the result's objectFlags to update if the result is referenced via typeArguments.
18773
+ if (!((result as ObjectFlagsType).objectFlags & ObjectFlags.CouldContainTypeVariablesComputed)) {
18774
+ (result as ObjectFlagsType).objectFlags |= ObjectFlags.CouldContainTypeVariablesComputed |
18775
+ (resultCouldContainTypeVariables ? ObjectFlags.CouldContainTypeVariables : 0);
18776
+ }
18773
18777
}
18774
18778
target.instantiations.set(id, result);
18775
18779
}
You can’t perform that action at this time.
0 commit comments