diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c2e8645518d..229a8bad77d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12882,11 +12882,8 @@ namespace ts { if (propType) { return propType; } - if (everyType(type, isTupleType)) { - const restType = mapType(type, t => getRestTypeOfTupleType(t) || undefinedType); - if (restType !== undefinedType) { - return restType; - } + if (everyType(type, isTupleType) && !everyType(type, t => !(t).target.hasRestElement)) { + return mapType(type, t => getRestTypeOfTupleType(t) || undefinedType); } return undefined; }