File: nullAssignableToEveryType.types

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (111 lines) | stat: -rw-r--r-- 1,543 bytes parent folder | download
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
=== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/nullAssignableToEveryType.ts ===
class C {
>C : C

    foo: string;
>foo : string
}
var ac: C;
>ac : C

interface I {
    foo: string;
>foo : string
}
var ai: I;
>ai : I

enum E { A }
>E : E
>A : E.A

var ae: E;
>ae : E

var b: number = null;
>b : number

var c: string = null;
>c : string

var d: boolean = null;
>d : boolean

var e: Date = null;
>e : Date

var f: any = null;
>f : any

var g: void = null;
>g : void

var h: Object = null;
>h : Object

var i: {} = null;
>i : {}

var j: () => {} = null;
>j : () => {}

var k: Function = null;
>k : Function

var l: (x: number) => string = null;
>l : (x: number) => string
>x : number

ac = null;
>ac = null : null
>ac : C

ai = null;
>ai = null : null
>ai : I

ae = null;
>ae = null : null
>ae : E

var m: number[] = null;
>m : number[]

var n: { foo: string } = null;
>n : { foo: string; }
>foo : string

var o: <T>(x: T) => T = null;
>o : <T>(x: T) => T
>x : T

var p: Number = null;
>p : Number

var q: String = null;
>q : String

function foo<T, U, V extends Date>(x: T, y: U, z: V) {
>foo : <T, U, V extends Date>(x: T, y: U, z: V) => void
>x : T
>y : U
>z : V

    x = null;
>x = null : null
>x : T

    y = null;
>y = null : null
>y : U

    z = null;
>z = null : null
>z : V
}

//function foo<T, U extends T, V extends Date>(x: T, y: U, z: V) {
//    x = null;
//    y = null;
//    z = null;
//}