Skip to content

Commit 069eac0

Browse files
committed
Accept new baselines
1 parent f6c79a6 commit 069eac0

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//// [reverseMappedContravariantInference.ts]
2+
// Repro from #21273
3+
4+
declare function conforms<T>(source: { [K in keyof T]: (val: T[K]) => boolean }): (value: T) => boolean;
5+
conforms({ foo: (v: string) => false })({ foo: "hello" });
6+
7+
8+
//// [reverseMappedContravariantInference.js]
9+
"use strict";
10+
// Repro from #21273
11+
conforms({ foo: function (v) { return false; } })({ foo: "hello" });
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
=== tests/cases/compiler/reverseMappedContravariantInference.ts ===
2+
// Repro from #21273
3+
4+
declare function conforms<T>(source: { [K in keyof T]: (val: T[K]) => boolean }): (value: T) => boolean;
5+
>conforms : Symbol(conforms, Decl(reverseMappedContravariantInference.ts, 0, 0))
6+
>T : Symbol(T, Decl(reverseMappedContravariantInference.ts, 2, 26))
7+
>source : Symbol(source, Decl(reverseMappedContravariantInference.ts, 2, 29))
8+
>K : Symbol(K, Decl(reverseMappedContravariantInference.ts, 2, 40))
9+
>T : Symbol(T, Decl(reverseMappedContravariantInference.ts, 2, 26))
10+
>val : Symbol(val, Decl(reverseMappedContravariantInference.ts, 2, 56))
11+
>T : Symbol(T, Decl(reverseMappedContravariantInference.ts, 2, 26))
12+
>K : Symbol(K, Decl(reverseMappedContravariantInference.ts, 2, 40))
13+
>value : Symbol(value, Decl(reverseMappedContravariantInference.ts, 2, 83))
14+
>T : Symbol(T, Decl(reverseMappedContravariantInference.ts, 2, 26))
15+
16+
conforms({ foo: (v: string) => false })({ foo: "hello" });
17+
>conforms : Symbol(conforms, Decl(reverseMappedContravariantInference.ts, 0, 0))
18+
>foo : Symbol(foo, Decl(reverseMappedContravariantInference.ts, 3, 10))
19+
>v : Symbol(v, Decl(reverseMappedContravariantInference.ts, 3, 17))
20+
>foo : Symbol(foo, Decl(reverseMappedContravariantInference.ts, 3, 41))
21+
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
=== tests/cases/compiler/reverseMappedContravariantInference.ts ===
2+
// Repro from #21273
3+
4+
declare function conforms<T>(source: { [K in keyof T]: (val: T[K]) => boolean }): (value: T) => boolean;
5+
>conforms : <T>(source: { [K in keyof T]: (val: T[K]) => boolean; }) => (value: T) => boolean
6+
>T : T
7+
>source : { [K in keyof T]: (val: T[K]) => boolean; }
8+
>K : K
9+
>T : T
10+
>val : T[K]
11+
>T : T
12+
>K : K
13+
>value : T
14+
>T : T
15+
16+
conforms({ foo: (v: string) => false })({ foo: "hello" });
17+
>conforms({ foo: (v: string) => false })({ foo: "hello" }) : boolean
18+
>conforms({ foo: (v: string) => false }) : (value: { foo: any; }) => boolean
19+
>conforms : <T>(source: { [K in keyof T]: (val: T[K]) => boolean; }) => (value: T) => boolean
20+
>{ foo: (v: string) => false } : { foo: (v: string) => boolean; }
21+
>foo : (v: string) => boolean
22+
>(v: string) => false : (v: string) => boolean
23+
>v : string
24+
>false : false
25+
>{ foo: "hello" } : { foo: string; }
26+
>foo : string
27+
>"hello" : "hello"
28+

0 commit comments

Comments
 (0)