File: assignmentCompatWithOverloads.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (72 lines) | stat: -rw-r--r-- 1,554 bytes parent folder | download | duplicates (5)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
=== tests/cases/compiler/assignmentCompatWithOverloads.ts ===
function f1(x: string): number { return null; }
>f1 : (x: string) => number
>x : string
>null : null

function f2(x: string): string { return null; }
>f2 : (x: string) => string
>x : string
>null : null

function f3(x: number): number { return null; }
>f3 : (x: number) => number
>x : number
>null : null

function f4(x: string): string;
>f4 : { (x: string): string; (x: number): number; }
>x : string

function f4(x: number): number;
>f4 : { (x: string): string; (x: number): number; }
>x : number

function f4(x: any): any { return undefined; }
>f4 : { (x: string): string; (x: number): number; }
>x : any
>undefined : undefined

var g: (s1: string) => number;
>g : (s1: string) => number
>s1 : string

g = f1; // OK 
>g = f1 : (x: string) => number
>g : (s1: string) => number
>f1 : (x: string) => number

g = f2; // Error
>g = f2 : (x: string) => string
>g : (s1: string) => number
>f2 : (x: string) => string

g = f3; // Error
>g = f3 : (x: number) => number
>g : (s1: string) => number
>f3 : (x: number) => number

g = f4; // Error
>g = f4 : { (x: string): string; (x: number): number; }
>g : (s1: string) => number
>f4 : { (x: string): string; (x: number): number; }

class C {
>C : C

    constructor(x: string);
>x : string

constructor(x: any) {}
>x : any
}

var d: new(x: number) => void;
>d : new (x: number) => void
>x : number

d = C; // Error
>d = C : typeof C
>d : new (x: number) => void
>C : typeof C