Skip to content

Commit bbcb1bb

Browse files
committed
Accept new baselines
1 parent 8442a45 commit bbcb1bb

File tree

4 files changed

+122
-17
lines changed

4 files changed

+122
-17
lines changed

tests/baselines/reference/intersectionWithUnionConstraint.errors.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,18 @@ tests/cases/conformance/types/intersection/intersectionWithUnionConstraint.ts(12
6262

6363
type T1 = (string | number | undefined) & (string | null | undefined); // string | undefined
6464

65+
function f3<T extends string | number | undefined>(x: T & (number | object | undefined)) {
66+
const y: number | undefined = x;
67+
}
68+
69+
function f4<T extends string | number>(x: T & (number | object)) {
70+
const y: number = x;
71+
}
72+
73+
function f5<T, U extends keyof T>(x: keyof T & U) {
74+
let y: keyof any = x;
75+
}
76+
6577
// Repro from #23648
6678

6779
type Example<T, U> = { [K in keyof T]: K extends keyof U ? UnexpectedError<K> : NoErrorHere<K> }

tests/baselines/reference/intersectionWithUnionConstraint.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@ function f2<T extends string | number | undefined, U extends string | null | und
1515

1616
type T1 = (string | number | undefined) & (string | null | undefined); // string | undefined
1717

18+
function f3<T extends string | number | undefined>(x: T & (number | object | undefined)) {
19+
const y: number | undefined = x;
20+
}
21+
22+
function f4<T extends string | number>(x: T & (number | object)) {
23+
const y: number = x;
24+
}
25+
26+
function f5<T, U extends keyof T>(x: keyof T & U) {
27+
let y: keyof any = x;
28+
}
29+
1830
// Repro from #23648
1931

2032
type Example<T, U> = { [K in keyof T]: K extends keyof U ? UnexpectedError<K> : NoErrorHere<K> }
@@ -37,3 +49,12 @@ function f2(x) {
3749
var y5 = x; // Error
3850
var y6 = x; // Error
3951
}
52+
function f3(x) {
53+
var y = x;
54+
}
55+
function f4(x) {
56+
var y = x;
57+
}
58+
function f5(x) {
59+
var y = x;
60+
}

tests/baselines/reference/intersectionWithUnionConstraint.symbols

Lines changed: 53 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,30 +49,66 @@ function f2<T extends string | number | undefined, U extends string | null | und
4949
type T1 = (string | number | undefined) & (string | null | undefined); // string | undefined
5050
>T1 : Symbol(T1, Decl(intersectionWithUnionConstraint.ts, 12, 1))
5151

52+
function f3<T extends string | number | undefined>(x: T & (number | object | undefined)) {
53+
>f3 : Symbol(f3, Decl(intersectionWithUnionConstraint.ts, 14, 70))
54+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 16, 12))
55+
>x : Symbol(x, Decl(intersectionWithUnionConstraint.ts, 16, 51))
56+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 16, 12))
57+
58+
const y: number | undefined = x;
59+
>y : Symbol(y, Decl(intersectionWithUnionConstraint.ts, 17, 9))
60+
>x : Symbol(x, Decl(intersectionWithUnionConstraint.ts, 16, 51))
61+
}
62+
63+
function f4<T extends string | number>(x: T & (number | object)) {
64+
>f4 : Symbol(f4, Decl(intersectionWithUnionConstraint.ts, 18, 1))
65+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 20, 12))
66+
>x : Symbol(x, Decl(intersectionWithUnionConstraint.ts, 20, 39))
67+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 20, 12))
68+
69+
const y: number = x;
70+
>y : Symbol(y, Decl(intersectionWithUnionConstraint.ts, 21, 9))
71+
>x : Symbol(x, Decl(intersectionWithUnionConstraint.ts, 20, 39))
72+
}
73+
74+
function f5<T, U extends keyof T>(x: keyof T & U) {
75+
>f5 : Symbol(f5, Decl(intersectionWithUnionConstraint.ts, 22, 1))
76+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 24, 12))
77+
>U : Symbol(U, Decl(intersectionWithUnionConstraint.ts, 24, 14))
78+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 24, 12))
79+
>x : Symbol(x, Decl(intersectionWithUnionConstraint.ts, 24, 34))
80+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 24, 12))
81+
>U : Symbol(U, Decl(intersectionWithUnionConstraint.ts, 24, 14))
82+
83+
let y: keyof any = x;
84+
>y : Symbol(y, Decl(intersectionWithUnionConstraint.ts, 25, 7))
85+
>x : Symbol(x, Decl(intersectionWithUnionConstraint.ts, 24, 34))
86+
}
87+
5288
// Repro from #23648
5389

5490
type Example<T, U> = { [K in keyof T]: K extends keyof U ? UnexpectedError<K> : NoErrorHere<K> }
55-
>Example : Symbol(Example, Decl(intersectionWithUnionConstraint.ts, 14, 70))
56-
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 18, 13))
57-
>U : Symbol(U, Decl(intersectionWithUnionConstraint.ts, 18, 15))
58-
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 18, 24))
59-
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 18, 13))
60-
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 18, 24))
61-
>U : Symbol(U, Decl(intersectionWithUnionConstraint.ts, 18, 15))
62-
>UnexpectedError : Symbol(UnexpectedError, Decl(intersectionWithUnionConstraint.ts, 18, 96))
63-
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 18, 24))
64-
>NoErrorHere : Symbol(NoErrorHere, Decl(intersectionWithUnionConstraint.ts, 20, 47))
65-
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 18, 24))
91+
>Example : Symbol(Example, Decl(intersectionWithUnionConstraint.ts, 26, 1))
92+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 30, 13))
93+
>U : Symbol(U, Decl(intersectionWithUnionConstraint.ts, 30, 15))
94+
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 30, 24))
95+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 30, 13))
96+
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 30, 24))
97+
>U : Symbol(U, Decl(intersectionWithUnionConstraint.ts, 30, 15))
98+
>UnexpectedError : Symbol(UnexpectedError, Decl(intersectionWithUnionConstraint.ts, 30, 96))
99+
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 30, 24))
100+
>NoErrorHere : Symbol(NoErrorHere, Decl(intersectionWithUnionConstraint.ts, 32, 47))
101+
>K : Symbol(K, Decl(intersectionWithUnionConstraint.ts, 30, 24))
66102

67103
type UnexpectedError<T extends PropertyKey> = T
68-
>UnexpectedError : Symbol(UnexpectedError, Decl(intersectionWithUnionConstraint.ts, 18, 96))
69-
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 20, 21))
104+
>UnexpectedError : Symbol(UnexpectedError, Decl(intersectionWithUnionConstraint.ts, 30, 96))
105+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 32, 21))
70106
>PropertyKey : Symbol(PropertyKey, Decl(lib.d.ts, --, --))
71-
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 20, 21))
107+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 32, 21))
72108

73109
type NoErrorHere<T extends PropertyKey> = T
74-
>NoErrorHere : Symbol(NoErrorHere, Decl(intersectionWithUnionConstraint.ts, 20, 47))
75-
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 21, 17))
110+
>NoErrorHere : Symbol(NoErrorHere, Decl(intersectionWithUnionConstraint.ts, 32, 47))
111+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 33, 17))
76112
>PropertyKey : Symbol(PropertyKey, Decl(lib.d.ts, --, --))
77-
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 21, 17))
113+
>T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 33, 17))
78114

tests/baselines/reference/intersectionWithUnionConstraint.types

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,42 @@ type T1 = (string | number | undefined) & (string | null | undefined); // strin
5454
>T1 : string | undefined
5555
>null : null
5656

57+
function f3<T extends string | number | undefined>(x: T & (number | object | undefined)) {
58+
>f3 : <T extends string | number | undefined>(x: (T & undefined) | (T & number) | (T & object)) => void
59+
>T : T
60+
>x : (T & undefined) | (T & number) | (T & object)
61+
>T : T
62+
63+
const y: number | undefined = x;
64+
>y : number | undefined
65+
>x : (T & undefined) | (T & number) | (T & object)
66+
}
67+
68+
function f4<T extends string | number>(x: T & (number | object)) {
69+
>f4 : <T extends string | number>(x: (T & number) | (T & object)) => void
70+
>T : T
71+
>x : (T & number) | (T & object)
72+
>T : T
73+
74+
const y: number = x;
75+
>y : number
76+
>x : (T & number) | (T & object)
77+
}
78+
79+
function f5<T, U extends keyof T>(x: keyof T & U) {
80+
>f5 : <T, U extends keyof T>(x: keyof T & U) => void
81+
>T : T
82+
>U : U
83+
>T : T
84+
>x : keyof T & U
85+
>T : T
86+
>U : U
87+
88+
let y: keyof any = x;
89+
>y : string | number | symbol
90+
>x : keyof T & U
91+
}
92+
5793
// Repro from #23648
5894

5995
type Example<T, U> = { [K in keyof T]: K extends keyof U ? UnexpectedError<K> : NoErrorHere<K> }

0 commit comments

Comments
 (0)