File: fuzzy.errors.txt

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (52 lines) | stat: -rw-r--r-- 1,988 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
tests/cases/compiler/fuzzy.ts(13,18): error TS2420: Class 'C' incorrectly implements interface 'I'.
  Property 'alsoWorks' is missing in type 'C'.
tests/cases/compiler/fuzzy.ts(21,20): error TS2322: Type '{ anything: number; oneI: this; }' is not assignable to type 'R'.
  Types of property 'oneI' are incompatible.
    Type 'this' is not assignable to type 'I'.
      Type 'C' is not assignable to type 'I'.
tests/cases/compiler/fuzzy.ts(25,20): error TS2352: Type '{ oneI: this; }' cannot be converted to type 'R'.
  Property 'anything' is missing in type '{ oneI: this; }'.


==== tests/cases/compiler/fuzzy.ts (3 errors) ====
    module M {
        export interface I {
            works:()=>R;
            alsoWorks:()=>R;
            doesntWork:()=>R;
        }
    
        export interface R {
            anything:number;
            oneI:I;
        }
    
        export class C implements I {
                     ~
!!! error TS2420: Class 'C' incorrectly implements interface 'I'.
!!! error TS2420:   Property 'alsoWorks' is missing in type 'C'.
            constructor(public x:number) {
            }
            works():R {
                return <R>({ anything: 1 });
            }
    
            doesntWork():R {
                return { anything:1, oneI:this };
                       ~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2322: Type '{ anything: number; oneI: this; }' is not assignable to type 'R'.
!!! error TS2322:   Types of property 'oneI' are incompatible.
!!! error TS2322:     Type 'this' is not assignable to type 'I'.
!!! error TS2322:       Type 'C' is not assignable to type 'I'.
            }
    
            worksToo():R {
                return <R>({ oneI: this });
                       ~~~~~~~~~~~~~~~~~~~
!!! error TS2352: Type '{ oneI: this; }' cannot be converted to type 'R'.
!!! error TS2352:   Property 'anything' is missing in type '{ oneI: this; }'.
            }
        }
    }