Skip to content

Commit 58ccfee

Browse files
committed
Handle multiple levesl of substitutions and indexed accesses in getActualTypeVariable
1 parent 44887b0 commit 58ccfee

File tree

3 files changed

+2
-29
lines changed

3 files changed

+2
-29
lines changed

src/compiler/checker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -17624,7 +17624,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1762417624

1762517625
function getActualTypeVariable(type: Type): Type {
1762617626
if (type.flags & TypeFlags.Substitution) {
17627-
return (type as SubstitutionType).baseType;
17627+
return getActualTypeVariable((type as SubstitutionType).baseType);
1762817628
}
1762917629
if (type.flags & TypeFlags.IndexedAccess && (
1763017630
(type as IndexedAccessType).objectType.flags & TypeFlags.Substitution ||

tests/baselines/reference/inferRestArgumentsMappedTuple.errors.txt

-27
This file was deleted.

tests/baselines/reference/inferRestArgumentsMappedTuple.types

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ declare function extractPrimitivesOld<Tuple extends any[]>(...mappedTypes: Tuple
2626
// [string, number]
2727
const myPrimitiveTupleOld: [string, number] = extractPrimitivesOld({ primitive: "" }, { primitive: 0 });
2828
>myPrimitiveTupleOld : [string, number]
29-
>extractPrimitivesOld({ primitive: "" }, { primitive: 0 }) : [unknown, unknown]
29+
>extractPrimitivesOld({ primitive: "" }, { primitive: 0 }) : [string, number]
3030
>extractPrimitivesOld : <Tuple extends any[]>(...mappedTypes: TupleMapperOld<Tuple>) => Tuple
3131
>{ primitive: "" } : { primitive: string; }
3232
>primitive : string

0 commit comments

Comments
 (0)