1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
=== tests/cases/conformance/types/tuple/named/namedTupleMembersErrors.ts ===
export type Segment1 = [length: number, number]; // partially named, disallowed
>Segment1 : [number, number]
export type Segment2 = [number, size: number]; // partially named, disallowed
>Segment2 : [number, number]
export type List = [item: any, ...any]; // partially named, disallowed
>List : [any, ...any[]]
export type List2 = [any, ...remainder: any]; // partially named, disallowed
>List2 : [any, ...any[]]
export type Pair = [item: any, any?]; // partially named, disallowed
>Pair : [any, any?]
export type Pair2 = [any, last?: any]; // partially named, disallowed
>Pair2 : [any, any?]
export type Opt = [element: string?]; // question mark on element disallowed
>Opt : [element: string]
export type Trailing = [first: string, rest: ...string[]]; // dots on element disallowed
>Trailing : [first: string, rest: string]
export type OptTrailing = [first: string, rest: ...string[]?]; // dots+question on element disallowed
>OptTrailing : [first: string, rest: string[]]
export type OptRest = [first: string, ...rest?: string[]]; // rest+optional disallowed
>OptRest : [first: string, rest?: string]
export type NonArrayRest = [first: string, ...rest: number]; // non-arraylike rest, disallowed
>NonArrayRest : [first: string, ...rest: any[]]
export type RecusiveRestUnlabeled = [string, ...RecusiveRestUnlabeled];
>RecusiveRestUnlabeled : any
export type RecusiveRest = [first: string, ...rest: RecusiveRest]; // marked as incorrect, same as above
>RecusiveRest : any
|