Skip to content

Commit 9438168

Browse files
committed
Erase NoInfer<T> in index types
1 parent b25bf3e commit 9438168

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/compiler/checker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17759,7 +17759,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1775917759
}
1776017760

1776117761
function shouldDeferIndexType(type: Type, indexFlags = IndexFlags.None) {
17762-
return !!(type.flags & TypeFlags.InstantiableNonPrimitive ||
17762+
return !!(type.flags & TypeFlags.InstantiableNonPrimitive && !isNoInferType(type) ||
1776317763
isGenericTupleType(type) ||
1776417764
isGenericMappedType(type) && (!hasDistributiveNameType(type) || getMappedTypeNameTypeKind(type) === MappedTypeNameTypeKind.Remapping) ||
1776517765
type.flags & TypeFlags.Union && !(indexFlags & IndexFlags.NoReducibleCheck) && isGenericReducibleType(type) ||
@@ -17771,6 +17771,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1777117771
return shouldDeferIndexType(type, indexFlags) ? getIndexTypeForGenericType(type as InstantiableType | UnionOrIntersectionType, indexFlags) :
1777217772
type.flags & TypeFlags.Union ? getIntersectionType(map((type as UnionType).types, t => getIndexType(t, indexFlags))) :
1777317773
type.flags & TypeFlags.Intersection ? getUnionType(map((type as IntersectionType).types, t => getIndexType(t, indexFlags))) :
17774+
type.flags & TypeFlags.Substitution ? getIndexType((type as SubstitutionType).baseType, indexFlags) :
1777417775
getObjectFlags(type) & ObjectFlags.Mapped ? getIndexTypeForMappedType(type as MappedType, indexFlags) :
1777517776
type === wildcardType ? wildcardType :
1777617777
type.flags & TypeFlags.Unknown ? neverType :

0 commit comments

Comments
 (0)