Skip to content

Commit 7cb45d5

Browse files
committed
Bump the InferencePriority.EmptyLiteral
1 parent 46aa15c commit 7cb45d5

7 files changed

+14
-15
lines changed

src/compiler/types.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6817,9 +6817,9 @@ export const enum InferencePriority {
68176817
PartialHomomorphicMappedType = 1 << 4, // Partial reverse inference for homomorphic mapped type
68186818
MappedTypeConstraint = 1 << 5, // Reverse inference for mapped type
68196819
ContravariantConditional = 1 << 6, // Conditional type in contravariant position
6820-
ReturnType = 1 << 7, // Inference made from return type of generic function
6821-
LiteralKeyof = 1 << 8, // Inference made from a string literal to a keyof T
6822-
EmptyLiteral = 1 << 9, // Inference made from an empty literal type
6820+
EmptyLiteral = 1 << 7, // Inference made from an empty literal type
6821+
ReturnType = 1 << 8, // Inference made from return type of generic function
6822+
LiteralKeyof = 1 << 9, // Inference made from a string literal to a keyof T
68236823
NoConstraints = 1 << 10, // Don't infer from constraints of instantiable types
68246824
AlwaysStrict = 1 << 11, // Always use strict rules for contravariant inferences
68256825
MaxValue = 1 << 12, // Seed for inference priority tracking

tests/baselines/reference/api/typescript.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7360,13 +7360,13 @@ declare namespace ts {
73607360
PartialHomomorphicMappedType = 16,
73617361
MappedTypeConstraint = 32,
73627362
ContravariantConditional = 64,
7363-
ReturnType = 128,
7364-
LiteralKeyof = 256,
7365-
EmptyLiteral = 512,
7363+
EmptyLiteral = 128,
7364+
ReturnType = 256,
7365+
LiteralKeyof = 512,
73667366
NoConstraints = 1024,
73677367
AlwaysStrict = 2048,
73687368
MaxValue = 4096,
7369-
PriorityImpliesCombination = 416,
7369+
PriorityImpliesCombination = 800,
73707370
Circularity = -1,
73717371
}
73727372
interface FileExtensionInfo {

tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function fn2() { return undefined; }
4747

4848
var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed
4949
>d1 : Date
50-
>fn2 `${ 0 }${ undefined }` : Date
50+
>fn2 `${ 0 }${ undefined }` : any
5151
>fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; <T>(strs: TemplateStringsArray, n: number, t: T): T; }
5252
>`${ 0 }${ undefined }` : string
5353
>0 : 0

tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function fn2() { return undefined; }
4747

4848
var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed
4949
>d1 : Date
50-
>fn2 `${ 0 }${ undefined }` : Date
50+
>fn2 `${ 0 }${ undefined }` : any
5151
>fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; <T>(strs: TemplateStringsArray, n: number, t: T): T; }
5252
>`${ 0 }${ undefined }` : string
5353
>0 : 0

tests/baselines/reference/tupleTypes.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ var tt2: number | string;
155155
>tt2 : undefined
156156

157157
tt = tuple2(1, undefined);
158-
>tt = tuple2(1, undefined) : [number, string]
158+
>tt = tuple2(1, undefined) : [number, any]
159159
>tt : [number, string]
160-
>tuple2(1, undefined) : [number, string]
160+
>tuple2(1, undefined) : [number, any]
161161
>tuple2 : <T0, T1>(item0: T0, item1: T1) => [T0, T1]
162162
>1 : 1
163163
>undefined : undefined
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
widenToAny1.ts(4,39): error TS2322: Type 'string' is not assignable to type 'number'.
1+
widenToAny1.ts(4,5): error TS2322: Type 'string' is not assignable to type 'number'.
22

33

44
==== widenToAny1.ts (1 errors) ====
55
function foo1<T>(f1: { x: T; y: T }): T {
66
return undefined;
77
}
88
var z1: number = foo1({ x: undefined, y: "def" }); // Best common type is any
9-
~
9+
~~
1010
!!! error TS2322: Type 'string' is not assignable to type 'number'.
11-
!!! related TS6500 widenToAny1.ts:1:30: The expected type comes from property 'y' which is declared here on type '{ x: number; y: number; }'
1211

tests/baselines/reference/widenToAny1.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ function foo1<T>(f1: { x: T; y: T }): T {
1212
}
1313
var z1: number = foo1({ x: undefined, y: "def" }); // Best common type is any
1414
>z1 : number
15-
>foo1({ x: undefined, y: "def" }) : number
15+
>foo1({ x: undefined, y: "def" }) : string
1616
>foo1 : <T>(f1: { x: T; y: T; }) => T
1717
>{ x: undefined, y: "def" } : { x: undefined; y: string; }
1818
>x : undefined

0 commit comments

Comments
 (0)