File: typeAssertions.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 (118 lines) | stat: -rw-r--r-- 6,004 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
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(5,5): error TS2346: Supplied parameters do not match any signature of call target.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2352: Type 'SomeOther' cannot be converted to type 'SomeBase'.
  Property 'p' is missing in type 'SomeOther'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2352: Type 'SomeOther' cannot be converted to type 'SomeDerived'.
  Property 'x' is missing in type 'SomeOther'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2352: Type 'SomeDerived' cannot be converted to type 'SomeOther'.
  Property 'q' is missing in type 'SomeDerived'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2352: Type 'SomeBase' cannot be converted to type 'SomeOther'.
  Property 'q' is missing in type 'SomeBase'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,5): error TS2304: Cannot find name 'numOrStr'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,14): error TS1005: '>' expected.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,14): error TS2304: Cannot find name 'is'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,17): error TS1005: ')' expected.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,17): error TS2304: Cannot find name 'string'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,48): error TS1005: ';' expected.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(45,2): error TS2322: Type 'string | number' is not assignable to type 'string'.
  Type 'number' is not assignable to type 'string'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,32): error TS2304: Cannot find name 'numOrStr'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,41): error TS1005: ')' expected.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,41): error TS2304: Cannot find name 'is'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,44): error TS1005: ';' expected.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,44): error TS2304: Cannot find name 'string'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,50): error TS1005: ';' expected.


==== tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts (18 errors) ====
    // Function call whose argument is a 1 arg generic function call with explicit type arguments
    function fn1<T>(t: T) { }
    function fn2(t: any) { }
    
    fn1(fn2<string>(4)); // Error
        ~~~~~~~~~~~~~~
!!! error TS2346: Supplied parameters do not match any signature of call target.
    
    var a: any;
    var s: string;
    
    // Type assertion of non - unary expression
    var a = <any>"" + 4;
    var s = "" + <any>4;
    
    class SomeBase {
        private p;
    }
    class SomeDerived extends SomeBase {
        private x;
    }
    class SomeOther {
        private q;
    }
    
    // Type assertion should check for assignability in either direction
    var someBase = new SomeBase();
    var someDerived = new SomeDerived();
    var someOther = new SomeOther();
    
    someBase = <SomeBase>someDerived;
    someBase = <SomeBase>someBase;
    someBase = <SomeBase>someOther; // Error
               ~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Type 'SomeOther' cannot be converted to type 'SomeBase'.
!!! error TS2352:   Property 'p' is missing in type 'SomeOther'.
    
    someDerived = <SomeDerived>someDerived;
    someDerived = <SomeDerived>someBase;
    someDerived = <SomeDerived>someOther; // Error
                  ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Type 'SomeOther' cannot be converted to type 'SomeDerived'.
!!! error TS2352:   Property 'x' is missing in type 'SomeOther'.
    
    someOther = <SomeOther>someDerived; // Error
                ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Type 'SomeDerived' cannot be converted to type 'SomeOther'.
!!! error TS2352:   Property 'q' is missing in type 'SomeDerived'.
    someOther = <SomeOther>someBase; // Error
                ~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Type 'SomeBase' cannot be converted to type 'SomeOther'.
!!! error TS2352:   Property 'q' is missing in type 'SomeBase'.
    someOther = <SomeOther>someOther;
    
    // Type assertion cannot be a type-predicate type
    var numOrStr: number | string;
    var str: string;
    if(<numOrStr is string>(numOrStr === undefined)) { // Error
        ~~~~~~~~
!!! error TS2304: Cannot find name 'numOrStr'.
                 ~~
!!! error TS1005: '>' expected.
                 ~~
!!! error TS2304: Cannot find name 'is'.
                    ~~~~~~
!!! error TS1005: ')' expected.
                    ~~~~~~
!!! error TS2304: Cannot find name 'string'.
                                                   ~
!!! error TS1005: ';' expected.
    	str = numOrStr; // Error, no narrowing occurred
    	~~~
!!! error TS2322: Type 'string | number' is not assignable to type 'string'.
!!! error TS2322:   Type 'number' is not assignable to type 'string'.
    }
    
    if((numOrStr === undefined) as numOrStr is string) { // Error
                                   ~~~~~~~~
!!! error TS2304: Cannot find name 'numOrStr'.
                                            ~~
!!! error TS1005: ')' expected.
                                            ~~
!!! error TS2304: Cannot find name 'is'.
                                               ~~~~~~
!!! error TS1005: ';' expected.
                                               ~~~~~~
!!! error TS2304: Cannot find name 'string'.
                                                     ~
!!! error TS1005: ';' expected.
    }