@@ -24,10 +24,39 @@ type Omit<U, K extends keyof U> = Pick<U, Diff<keyof U, K>>
2424>U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 2, 10))
2525>K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 2, 12))
2626
27+ type Omit1<U, K extends keyof U> = Pick<U, Diff<keyof U, K>>;
28+ >Omit1 : Symbol(Omit1, Decl(indexedAccessRetainsIndexSignature.ts, 2, 59))
29+ >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11))
30+ >K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 3, 13))
31+ >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11))
32+ >Pick : Symbol(Pick, Decl(lib.d.ts, --, --))
33+ >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11))
34+ >Diff : Symbol(Diff, Decl(indexedAccessRetainsIndexSignature.ts, 0, 0))
35+ >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11))
36+ >K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 3, 13))
37+
38+ // is in fact an equivalent of
39+
40+ type Omit2<T, K extends keyof T> = {[P in Diff<keyof T, K>]: T[P]};
41+ >Omit2 : Symbol(Omit2, Decl(indexedAccessRetainsIndexSignature.ts, 3, 61))
42+ >T : Symbol(T, Decl(indexedAccessRetainsIndexSignature.ts, 6, 11))
43+ >K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 6, 13))
44+ >T : Symbol(T, Decl(indexedAccessRetainsIndexSignature.ts, 6, 11))
45+ >P : Symbol(P, Decl(indexedAccessRetainsIndexSignature.ts, 6, 37))
46+ >Diff : Symbol(Diff, Decl(indexedAccessRetainsIndexSignature.ts, 0, 0))
47+ >T : Symbol(T, Decl(indexedAccessRetainsIndexSignature.ts, 6, 11))
48+ >K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 6, 13))
49+ >T : Symbol(T, Decl(indexedAccessRetainsIndexSignature.ts, 6, 11))
50+ >P : Symbol(P, Decl(indexedAccessRetainsIndexSignature.ts, 6, 37))
2751
2852type O = Omit<{ a: number, b: string }, 'a'>
29- >O : Symbol(O, Decl(indexedAccessRetainsIndexSignature.ts, 2, 59 ))
53+ >O : Symbol(O, Decl(indexedAccessRetainsIndexSignature.ts, 6, 67 ))
3054>Omit : Symbol(Omit, Decl(indexedAccessRetainsIndexSignature.ts, 1, 71))
31- >a : Symbol(a, Decl(indexedAccessRetainsIndexSignature.ts, 5, 15))
32- >b : Symbol(b, Decl(indexedAccessRetainsIndexSignature.ts, 5, 26))
55+ >a : Symbol(a, Decl(indexedAccessRetainsIndexSignature.ts, 8, 15))
56+ >b : Symbol(b, Decl(indexedAccessRetainsIndexSignature.ts, 8, 26))
57+
58+ const o: O = { b: '' }
59+ >o : Symbol(o, Decl(indexedAccessRetainsIndexSignature.ts, 9, 5))
60+ >O : Symbol(O, Decl(indexedAccessRetainsIndexSignature.ts, 6, 67))
61+ >b : Symbol(b, Decl(indexedAccessRetainsIndexSignature.ts, 9, 14))
3362
0 commit comments