=== tests/cases/conformance/types/primitives/undefined/validUndefinedAssignments.ts === var x: typeof undefined; >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) >undefined : undefined, Symbol(undefined) var a: number = x; >a : number, Symbol(a, Decl(validUndefinedAssignments.ts, 2, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) var b: boolean = x; >b : boolean, Symbol(b, Decl(validUndefinedAssignments.ts, 3, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) var c: string = x; >c : string, Symbol(c, Decl(validUndefinedAssignments.ts, 4, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) var d: void = x; >d : void, Symbol(d, Decl(validUndefinedAssignments.ts, 5, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) var e: typeof undefined = x; >e : any, Symbol(e, Decl(validUndefinedAssignments.ts, 7, 3)) >undefined : undefined, Symbol(undefined) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) e = x; // should work >e = x : any >e : any, Symbol(e, Decl(validUndefinedAssignments.ts, 7, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) class C { foo: string } >C : C, Symbol(C, Decl(validUndefinedAssignments.ts, 8, 6)) >foo : string, Symbol(foo, Decl(validUndefinedAssignments.ts, 10, 9)) var f: C; >f : C, Symbol(f, Decl(validUndefinedAssignments.ts, 11, 3)) >C : C, Symbol(C, Decl(validUndefinedAssignments.ts, 8, 6)) f = x; >f = x : any >f : C, Symbol(f, Decl(validUndefinedAssignments.ts, 11, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) interface I { foo: string } >I : I, Symbol(I, Decl(validUndefinedAssignments.ts, 12, 6)) >foo : string, Symbol(foo, Decl(validUndefinedAssignments.ts, 14, 13)) var g: I; >g : I, Symbol(g, Decl(validUndefinedAssignments.ts, 15, 3)) >I : I, Symbol(I, Decl(validUndefinedAssignments.ts, 12, 6)) g = x; >g = x : any >g : I, Symbol(g, Decl(validUndefinedAssignments.ts, 15, 3)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) var h: { f(): void } = x; >h : { f(): void; }, Symbol(h, Decl(validUndefinedAssignments.ts, 18, 3)) >f : () => void, Symbol(f, Decl(validUndefinedAssignments.ts, 18, 8)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) function i(a: T) { >i : (a: T) => void, Symbol(i, Decl(validUndefinedAssignments.ts, 18, 25)) >T : T, Symbol(T, Decl(validUndefinedAssignments.ts, 20, 11)) >a : T, Symbol(a, Decl(validUndefinedAssignments.ts, 20, 14)) >T : T, Symbol(T, Decl(validUndefinedAssignments.ts, 20, 11)) a = x; >a = x : any >a : T, Symbol(a, Decl(validUndefinedAssignments.ts, 20, 14)) >x : any, Symbol(x, Decl(validUndefinedAssignments.ts, 0, 3)) }