Skip to content

Commit 5ecc087

Browse files
AndaristHansBrende
andcommitted
Add extra test case
Co-authored-by: Hans Brende <[email protected]>
1 parent 7d5097b commit 5ecc087

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//// [tests/cases/compiler/exactOptionalPropertyTypesIdentical.ts] ////
2+
3+
=== exactOptionalPropertyTypesIdentical.ts ===
4+
// https://github.com/microsoft/TypeScript/issues/61547
5+
6+
export let a: <T>() => T extends {a?: string} ? 0 : 1 = null!;
7+
>a : Symbol(a, Decl(exactOptionalPropertyTypesIdentical.ts, 2, 10))
8+
>T : Symbol(T, Decl(exactOptionalPropertyTypesIdentical.ts, 2, 15))
9+
>T : Symbol(T, Decl(exactOptionalPropertyTypesIdentical.ts, 2, 15))
10+
>a : Symbol(a, Decl(exactOptionalPropertyTypesIdentical.ts, 2, 34))
11+
12+
export let b: <T>() => T extends {a?: string | undefined} ? 0 : 1 = a;
13+
>b : Symbol(b, Decl(exactOptionalPropertyTypesIdentical.ts, 3, 10))
14+
>T : Symbol(T, Decl(exactOptionalPropertyTypesIdentical.ts, 3, 15))
15+
>T : Symbol(T, Decl(exactOptionalPropertyTypesIdentical.ts, 3, 15))
16+
>a : Symbol(a, Decl(exactOptionalPropertyTypesIdentical.ts, 3, 34))
17+
>a : Symbol(a, Decl(exactOptionalPropertyTypesIdentical.ts, 2, 10))
18+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//// [tests/cases/compiler/exactOptionalPropertyTypesIdentical.ts] ////
2+
3+
=== exactOptionalPropertyTypesIdentical.ts ===
4+
// https://github.com/microsoft/TypeScript/issues/61547
5+
6+
export let a: <T>() => T extends {a?: string} ? 0 : 1 = null!;
7+
>a : <T>() => T extends { a?: string; } ? 0 : 1
8+
> : ^ ^^^^^^^
9+
>a : string | undefined
10+
> : ^^^^^^^^^^^^^^^^^^
11+
>null! : never
12+
> : ^^^^^
13+
14+
export let b: <T>() => T extends {a?: string | undefined} ? 0 : 1 = a;
15+
>b : <T>() => T extends { a?: string | undefined; } ? 0 : 1
16+
> : ^ ^^^^^^^
17+
>a : string | undefined
18+
> : ^^^^^^^^^^^^^^^^^^
19+
>a : <T>() => T extends { a?: string; } ? 0 : 1
20+
> : ^ ^^^^^^^
21+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// @strictNullChecks: true
2+
// @exactOptionalPropertyTypes: true
3+
// @noEmit: true
4+
5+
// https://github.com/microsoft/TypeScript/issues/61547
6+
7+
export let a: <T>() => T extends {a?: string} ? 0 : 1 = null!;
8+
export let b: <T>() => T extends {a?: string | undefined} ? 0 : 1 = a;

0 commit comments

Comments
 (0)