mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-16 07:13:45 -05:00
Consistently add undefined/missing to optional tuple element types (#50831)
* Consistently add undefined/missing type to optional tuple elements * Accept new baselines * Add regression test
This commit is contained in:
20
tests/cases/compiler/optionalTupleElementsAndUndefined.ts
Normal file
20
tests/cases/compiler/optionalTupleElementsAndUndefined.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// @strict: true
|
||||
|
||||
// Repro from #50753
|
||||
|
||||
type UnNullify<T> = { [K in keyof T]: NonNullable<T[K]> };
|
||||
|
||||
type Foo = UnNullify<[a: 1, b?: 2 | undefined]>;
|
||||
|
||||
type Test = [a: 1, b?: 2] extends Foo ? true : false; // true
|
||||
|
||||
// Types in the following declarations should be identical
|
||||
|
||||
var v: [1, 2?];
|
||||
var v: [1, (2 | undefined)?];
|
||||
var v: [a: 1, b?: 2];
|
||||
var v: [a: 1, b?: 2 | undefined];
|
||||
var v: UnNullify<[1, 2?]>;
|
||||
var v: UnNullify<[1, (2 | undefined)?]>;
|
||||
var v: UnNullify<[a: 1, b?: 2]>;
|
||||
var v: UnNullify<[a: 1, b?: 2 | undefined]>;
|
||||
Reference in New Issue
Block a user