58 lines
No EOL
1.5 KiB
Text
58 lines
No EOL
1.5 KiB
Text
==== 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<T>(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'. |