==== tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts (13 errors) ==== var x: void; var a: boolean = x; ~ !!! Type 'void' is not assignable to type 'boolean'. var b: string = x; ~ !!! Type 'void' is not assignable to type 'string'. var c: number = x; ~ !!! Type 'void' is not assignable to type 'number'. var d: typeof undefined = x; class C { foo: string; } var e: C = x; ~ !!! Type 'void' is not assignable to type 'C'. interface I { bar: string; } var f: I = x; ~ !!! Type 'void' is not assignable to type 'I'. var g: { baz: string } = 1; ~ !!! Type 'number' is not assignable to type '{ baz: string; }': !!! Property 'baz' is missing in type 'Number'. var g2: { 0: number } = 1; ~~ !!! Type 'number' is not assignable to type '{ 0: number; }': !!! Property '0' is missing in type 'Number'. module M { export var x = 1; } M = x; ~ !!! Invalid left-hand side of assignment expression. function i(a: T) { a = x; ~ !!! Type 'void' is not assignable to type 'T'. } i = x; ~ !!! Invalid left-hand side of assignment expression. enum E { A } x = E; ~ !!! Type 'typeof E' is not assignable to type 'void'. x = E.A; ~ !!! Type 'E' is not assignable to type 'void'. x = { f() { } } ~ !!! Type '{ f: () => void; }' is not assignable to type 'void'.