File: enumAssignmentCompat3.errors.txt

package info (click to toggle)
node-typescript 2.1.5-1~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 203,960 kB
  • sloc: sh: 11; makefile: 5
file content (127 lines) | stat: -rw-r--r-- 4,157 bytes parent folder | download | duplicates (2)
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
tests/cases/compiler/enumAssignmentCompat3.ts(68,1): error TS2324: Property 'd' is missing in type 'First.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(70,1): error TS2322: Type 'Cd.E' is not assignable to type 'First.E'.
  Property 'd' is missing in type 'First.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(71,1): error TS2322: Type 'Nope' is not assignable to type 'E'.
tests/cases/compiler/enumAssignmentCompat3.ts(72,1): error TS2322: Type 'Decl.E' is not assignable to type 'First.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(75,1): error TS2324: Property 'c' is missing in type 'Ab.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(76,1): error TS2322: Type 'First.E' is not assignable to type 'Cd.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(77,1): error TS2322: Type 'E' is not assignable to type 'Nope'.
tests/cases/compiler/enumAssignmentCompat3.ts(78,1): error TS2322: Type 'First.E' is not assignable to type 'Decl.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(82,1): error TS2322: Type 'Const.E' is not assignable to type 'First.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(83,1): error TS2322: Type 'First.E' is not assignable to type 'Const.E'.
tests/cases/compiler/enumAssignmentCompat3.ts(86,1): error TS2324: Property 'd' is missing in type 'First.E'.


==== tests/cases/compiler/enumAssignmentCompat3.ts (11 errors) ====
    namespace First {
        export enum E {
            a, b, c,
        }
    }
    namespace Abc {
        export enum E {
            a, b, c,
        }
        export enum Nope {
            a, b, c,
        }
    }
    namespace Abcd {
        export enum E {
            a, b, c, d,
        }
    }
    namespace Ab {
        export enum E {
            a, b,
        }
    }
    namespace Cd {
        export enum E {
            c, d,
        }
    }
    namespace Const {
        export const enum E {
            a, b, c,
        }
    }
    namespace Decl {
        export declare enum E {
            a, b, c = 3,
        }
    }
    namespace Merged {
        export enum E {
            a, b, 
        }
        export enum E {
            c = 3, d,
        }
    }
    
    namespace Merged2 {
        export enum E {
            a, b, c
        }
        export module E {
            export let d = 5;
        }
    }
    
    var abc: First.E;
    var secondAbc: Abc.E;
    var secondAbcd: Abcd.E;
    var secondAb: Ab.E;
    var secondCd: Cd.E;
    var nope: Abc.Nope;
    var k: Const.E;
    var decl: Decl.E;
    var merged: Merged.E;
    var merged2: Merged2.E;
    abc = secondAbc; // ok
    abc = secondAbcd; // missing 'd'
    ~~~
!!! error TS2324: Property 'd' is missing in type 'First.E'.
    abc = secondAb; // ok
    abc = secondCd; // missing 'd'
    ~~~
!!! error TS2322: Type 'Cd.E' is not assignable to type 'First.E'.
!!! error TS2322:   Property 'd' is missing in type 'First.E'.
    abc = nope; // nope!
    ~~~
!!! error TS2322: Type 'Nope' is not assignable to type 'E'.
    abc = decl; // ok
    ~~~
!!! error TS2322: Type 'Decl.E' is not assignable to type 'First.E'.
    secondAbc = abc; // ok
    secondAbcd = abc; // ok
    secondAb = abc; // missing 'c'
    ~~~~~~~~
!!! error TS2324: Property 'c' is missing in type 'Ab.E'.
    secondCd = abc; // missing 'a' and 'b'
    ~~~~~~~~
!!! error TS2322: Type 'First.E' is not assignable to type 'Cd.E'.
    nope = abc; // nope!
    ~~~~
!!! error TS2322: Type 'E' is not assignable to type 'Nope'.
    decl = abc; // ok
    ~~~~
!!! error TS2322: Type 'First.E' is not assignable to type 'Decl.E'.
    
    // const is only assignable to itself
    k = k;
    abc = k; // error
    ~~~
!!! error TS2322: Type 'Const.E' is not assignable to type 'First.E'.
    k = abc;
    ~
!!! error TS2322: Type 'First.E' is not assignable to type 'Const.E'.
    
    // merged enums compare all their members
    abc = merged; // missing 'd'
    ~~~
!!! error TS2324: Property 'd' is missing in type 'First.E'.
    merged = abc; // ok
    abc = merged2; // ok
    merged2 = abc; // ok