File: typeParametersShouldNotBeEqual3.errors.txt

package info (click to toggle)
node-typescript 4.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 396,552 kB
  • sloc: javascript: 1,444,377; makefile: 7; sh: 3
file content (29 lines) | stat: -rw-r--r-- 2,114 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
tests/cases/compiler/typeParametersShouldNotBeEqual3.ts(4,5): error TS2322: Type 'U' is not assignable to type 'T'.
  'U' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Object'.
    Type 'Object' is not assignable to type 'T'.
      'Object' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Object'.
        The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
tests/cases/compiler/typeParametersShouldNotBeEqual3.ts(5,5): error TS2322: Type 'Object' is not assignable to type 'T'.
  'Object' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Object'.
    The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?


==== tests/cases/compiler/typeParametersShouldNotBeEqual3.ts (2 errors) ====
    function ff<T extends Object, U extends Object>(x: T, y: U) {
        var z: Object;
        x = x;  // Ok
        x = y;  // Ok
        ~
!!! error TS2322: Type 'U' is not assignable to type 'T'.
!!! error TS2322:   'U' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Object'.
!!! error TS2322:     Type 'Object' is not assignable to type 'T'.
!!! error TS2322:       'Object' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Object'.
!!! error TS2322:         The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
        x = z;  // Ok
        ~
!!! error TS2322: Type 'Object' is not assignable to type 'T'.
!!! error TS2322:   'Object' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Object'.
!!! error TS2322:     The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
        z = x;  // Ok
    }