50 lines
No EOL
1.1 KiB
Text
50 lines
No EOL
1.1 KiB
Text
==== tests/cases/compiler/enumAssignmentCompat2.ts (5 errors) ====
|
|
enum W {
|
|
|
|
a, b, c,
|
|
|
|
}
|
|
|
|
module W {
|
|
export class D { }
|
|
}
|
|
|
|
interface WStatic {
|
|
|
|
a: W;
|
|
|
|
b: W;
|
|
|
|
c: W;
|
|
|
|
}
|
|
|
|
|
|
|
|
var x: WStatic = W;
|
|
var y: typeof W = W;
|
|
var z: number = W; // error
|
|
~
|
|
!!! Type 'typeof W' is not assignable to type 'number'.
|
|
var a: number = W.a;
|
|
var b: typeof W = W.a; // error
|
|
~
|
|
!!! Type 'W' is not assignable to type 'typeof W':
|
|
!!! Property 'a' is missing in type 'Number'.
|
|
var c: typeof W.a = W.a;
|
|
var d: typeof W = 3; // error
|
|
~
|
|
!!! Type 'number' is not assignable to type 'typeof W'.
|
|
var e: typeof W.a = 4;
|
|
var f: WStatic = W.a; // error
|
|
~
|
|
!!! Type 'W' is not assignable to type 'WStatic':
|
|
!!! Property 'a' is missing in type 'Number'.
|
|
var g: WStatic = 5; // error
|
|
~
|
|
!!! Type 'number' is not assignable to type 'WStatic'.
|
|
var h: W = 3;
|
|
var i: W = W.a;
|
|
i = W.a;
|
|
W.D;
|
|
var p: W.D; |