Skip to content

Commit cd93df1

Browse files
committed
Additional test
1 parent 1a9d2af commit cd93df1

File tree

3 files changed

+96
-0
lines changed

3 files changed

+96
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//// [tests/cases/compiler/assignmentToAnyArrayRestParameters.ts] ////
2+
3+
=== assignmentToAnyArrayRestParameters.ts ===
4+
// Repro from #57122
5+
6+
function foo<T extends string[]>(
7+
>foo : Symbol(foo, Decl(assignmentToAnyArrayRestParameters.ts, 0, 0))
8+
>T : Symbol(T, Decl(assignmentToAnyArrayRestParameters.ts, 2, 13))
9+
10+
fa: (s: string, ...args: string[]) => string,
11+
>fa : Symbol(fa, Decl(assignmentToAnyArrayRestParameters.ts, 2, 33))
12+
>s : Symbol(s, Decl(assignmentToAnyArrayRestParameters.ts, 3, 9))
13+
>args : Symbol(args, Decl(assignmentToAnyArrayRestParameters.ts, 3, 19))
14+
15+
fb: (s: string, ...args: T) => string
16+
>fb : Symbol(fb, Decl(assignmentToAnyArrayRestParameters.ts, 3, 49))
17+
>s : Symbol(s, Decl(assignmentToAnyArrayRestParameters.ts, 4, 9))
18+
>args : Symbol(args, Decl(assignmentToAnyArrayRestParameters.ts, 4, 19))
19+
>T : Symbol(T, Decl(assignmentToAnyArrayRestParameters.ts, 2, 13))
20+
21+
) {
22+
const f1: (...args: any) => string = fa;
23+
>f1 : Symbol(f1, Decl(assignmentToAnyArrayRestParameters.ts, 6, 9))
24+
>args : Symbol(args, Decl(assignmentToAnyArrayRestParameters.ts, 6, 15))
25+
>fa : Symbol(fa, Decl(assignmentToAnyArrayRestParameters.ts, 2, 33))
26+
27+
const f2: (...args: any[]) => string = fa;
28+
>f2 : Symbol(f2, Decl(assignmentToAnyArrayRestParameters.ts, 7, 9))
29+
>args : Symbol(args, Decl(assignmentToAnyArrayRestParameters.ts, 7, 15))
30+
>fa : Symbol(fa, Decl(assignmentToAnyArrayRestParameters.ts, 2, 33))
31+
32+
const f3: (...args: any) => string = fb;
33+
>f3 : Symbol(f3, Decl(assignmentToAnyArrayRestParameters.ts, 8, 9))
34+
>args : Symbol(args, Decl(assignmentToAnyArrayRestParameters.ts, 8, 15))
35+
>fb : Symbol(fb, Decl(assignmentToAnyArrayRestParameters.ts, 3, 49))
36+
37+
const f4: (...args: any[]) => string = fb;
38+
>f4 : Symbol(f4, Decl(assignmentToAnyArrayRestParameters.ts, 9, 9))
39+
>args : Symbol(args, Decl(assignmentToAnyArrayRestParameters.ts, 9, 15))
40+
>fb : Symbol(fb, Decl(assignmentToAnyArrayRestParameters.ts, 3, 49))
41+
}
42+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
//// [tests/cases/compiler/assignmentToAnyArrayRestParameters.ts] ////
2+
3+
=== assignmentToAnyArrayRestParameters.ts ===
4+
// Repro from #57122
5+
6+
function foo<T extends string[]>(
7+
>foo : <T extends string[]>(fa: (s: string, ...args: string[]) => string, fb: (s: string, ...args: T) => string) => void
8+
9+
fa: (s: string, ...args: string[]) => string,
10+
>fa : (s: string, ...args: string[]) => string
11+
>s : string
12+
>args : string[]
13+
14+
fb: (s: string, ...args: T) => string
15+
>fb : (s: string, ...args: T) => string
16+
>s : string
17+
>args : T
18+
19+
) {
20+
const f1: (...args: any) => string = fa;
21+
>f1 : (...args: any) => string
22+
>args : any
23+
>fa : (s: string, ...args: string[]) => string
24+
25+
const f2: (...args: any[]) => string = fa;
26+
>f2 : (...args: any[]) => string
27+
>args : any[]
28+
>fa : (s: string, ...args: string[]) => string
29+
30+
const f3: (...args: any) => string = fb;
31+
>f3 : (...args: any) => string
32+
>args : any
33+
>fb : (s: string, ...args: T) => string
34+
35+
const f4: (...args: any[]) => string = fb;
36+
>f4 : (...args: any[]) => string
37+
>args : any[]
38+
>fb : (s: string, ...args: T) => string
39+
}
40+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// @strict: true
2+
// @noEmit: true
3+
4+
// Repro from #57122
5+
6+
function foo<T extends string[]>(
7+
fa: (s: string, ...args: string[]) => string,
8+
fb: (s: string, ...args: T) => string
9+
) {
10+
const f1: (...args: any) => string = fa;
11+
const f2: (...args: any[]) => string = fa;
12+
const f3: (...args: any) => string = fb;
13+
const f4: (...args: any[]) => string = fb;
14+
}

0 commit comments

Comments
 (0)