File: typeAssertions.errors.txt

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (123 lines) | stat: -rw-r--r-- 8,498 bytes parent folder | download | duplicates (3)
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
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(5,9): error TS2558: Expected 0 type arguments, but got 1.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(31,12): error TS2352: Conversion of type 'SomeOther' to type 'SomeBase' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Property 'p' is missing in type 'SomeOther' but required in type 'SomeBase'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(35,15): error TS2352: Conversion of type 'SomeOther' to type 'SomeDerived' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Type 'SomeOther' is missing the following properties from type 'SomeDerived': x, p
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(37,13): error TS2352: Conversion of type 'SomeDerived' to type 'SomeOther' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Property 'q' is missing in type 'SomeDerived' but required in type 'SomeOther'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(38,13): error TS2352: Conversion of type 'SomeBase' to type 'SomeOther' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Property 'q' is missing in type 'SomeBase' but required in type 'SomeOther'.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,5): error TS2749: 'numOrStr' refers to a value, but is being used as a type here. Did you mean 'typeof 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 TS2693: 'string' only refers to a type, but is being used as a value here.
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 TS2749: 'numOrStr' refers to a value, but is being used as a type here. Did you mean 'typeof 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 TS1434: Unexpected keyword or identifier.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,44): error TS2693: 'string' only refers to a type, but is being used as a value here.
tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,50): error TS1128: Declaration or statement 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 TS2558: Expected 0 type arguments, but got 1.
    
    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: Conversion of type 'SomeOther' to type 'SomeBase' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
!!! error TS2352:   Property 'p' is missing in type 'SomeOther' but required in type 'SomeBase'.
!!! related TS2728 tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts:15:13: 'p' is declared here.
    
    someDerived = <SomeDerived>someDerived;
    someDerived = <SomeDerived>someBase;
    someDerived = <SomeDerived>someOther; // Error
                  ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Conversion of type 'SomeOther' to type 'SomeDerived' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
!!! error TS2352:   Type 'SomeOther' is missing the following properties from type 'SomeDerived': x, p
    
    someOther = <SomeOther>someDerived; // Error
                ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Conversion of type 'SomeDerived' to type 'SomeOther' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
!!! error TS2352:   Property 'q' is missing in type 'SomeDerived' but required in type 'SomeOther'.
!!! related TS2728 tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts:21:13: 'q' is declared here.
    someOther = <SomeOther>someBase; // Error
                ~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Conversion of type 'SomeBase' to type 'SomeOther' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
!!! error TS2352:   Property 'q' is missing in type 'SomeBase' but required in type 'SomeOther'.
!!! related TS2728 tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts:21:13: 'q' is declared here.
    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 TS2749: 'numOrStr' refers to a value, but is being used as a type here. Did you mean 'typeof numOrStr'?
                 ~~
!!! error TS1005: '>' expected.
                 ~~
!!! error TS2304: Cannot find name 'is'.
                    ~~~~~~
!!! error TS1005: ')' expected.
!!! related TS1007 tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts:44:3: The parser expected to find a ')' to match the '(' token here.
                    ~~~~~~
!!! error TS2693: 'string' only refers to a type, but is being used as a value here.
                                                   ~
!!! 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 TS2749: 'numOrStr' refers to a value, but is being used as a type here. Did you mean 'typeof numOrStr'?
                                            ~~
!!! error TS1005: ')' expected.
!!! related TS1007 tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts:48:3: The parser expected to find a ')' to match the '(' token here.
                                            ~~
!!! error TS2304: Cannot find name 'is'.
                                               ~~~~~~
!!! error TS1434: Unexpected keyword or identifier.
                                               ~~~~~~
!!! error TS2693: 'string' only refers to a type, but is being used as a value here.
                                                     ~
!!! error TS1128: Declaration or statement expected.
    }