File: overloadOnConstInheritance2.errors.txt

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (22 lines) | stat: -rw-r--r-- 1,154 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
overloadOnConstInheritance2.ts(5,11): error TS2430: Interface 'Deriver' incorrectly extends interface 'Base'.
  Types of property 'addEventListener' are incompatible.
    Type '(x: "bar") => string' is not assignable to type '{ (x: string): any; (x: "foo"): string; }'.
      Types of parameters 'x' and 'x' are incompatible.
        Type '"foo"' is not assignable to type '"bar"'.


==== overloadOnConstInheritance2.ts (1 errors) ====
    interface Base {
        addEventListener(x: string): any;
        addEventListener(x: 'foo'): string;
    }
    interface Deriver extends Base {
              ~~~~~~~
!!! error TS2430: Interface 'Deriver' incorrectly extends interface 'Base'.
!!! error TS2430:   Types of property 'addEventListener' are incompatible.
!!! error TS2430:     Type '(x: "bar") => string' is not assignable to type '{ (x: string): any; (x: "foo"): string; }'.
!!! error TS2430:       Types of parameters 'x' and 'x' are incompatible.
!!! error TS2430:         Type '"foo"' is not assignable to type '"bar"'.
        addEventListener(x: 'bar'): string; // shouldn't need to redeclare the string overload
    }