File: typeParameterArgumentEquivalence2.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 (30 lines) | stat: -rw-r--r-- 1,865 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
23
24
25
26
27
28
29
30
typeParameterArgumentEquivalence2.ts(4,5): error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: U) => boolean'.
  Types of parameters 'item' and 'item' are incompatible.
    Type 'U' is not assignable to type 'T'.
      'T' could be instantiated with an arbitrary type which could be unrelated to 'U'.
typeParameterArgumentEquivalence2.ts(5,5): error TS2322: Type '(item: U) => boolean' is not assignable to type '(item: T) => boolean'.
  Types of parameters 'item' and 'item' are incompatible.
    Type 'T' is not assignable to type 'U'.
      'U' could be instantiated with an arbitrary type which could be unrelated to 'T'.


==== typeParameterArgumentEquivalence2.ts (2 errors) ====
    function foo<T,U>() {
        var x: (item: U) => boolean;
        var y: (item: T) => boolean;
        x = y;  // Should be an error
        ~
!!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: U) => boolean'.
!!! error TS2322:   Types of parameters 'item' and 'item' are incompatible.
!!! error TS2322:     Type 'U' is not assignable to type 'T'.
!!! error TS2322:       'T' could be instantiated with an arbitrary type which could be unrelated to 'U'.
!!! related TS2208 typeParameterArgumentEquivalence2.ts:1:16: This type parameter might need an `extends T` constraint.
        y = x;  // Shound be an error
        ~
!!! error TS2322: Type '(item: U) => boolean' is not assignable to type '(item: T) => boolean'.
!!! error TS2322:   Types of parameters 'item' and 'item' are incompatible.
!!! error TS2322:     Type 'T' is not assignable to type 'U'.
!!! error TS2322:       'U' could be instantiated with an arbitrary type which could be unrelated to 'T'.
!!! related TS2208 typeParameterArgumentEquivalence2.ts:1:14: This type parameter might need an `extends U` constraint.
    }