File: chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (31 lines) | stat: -rw-r--r-- 1,733 bytes parent folder | download | duplicates (4)
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
tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts(19,64): error TS2741: Property 'z' is missing in type 'B' but required in type 'C'.
tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts(19,81): error TS2739: Type 'A' is missing the following properties from type 'C': z, y


==== tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts (2 errors) ====
    class Chain<T extends A> {
        constructor(public value: T) { }
        then<S extends T>(cb: (x: T) => S): Chain<S> {
            return null;
        }
    }
    
    class A {
        x;
    }
    class B extends A {
        y;
    }
    class C extends B {
        z;
    }
    
    // Ok to go down the chain, but error to try to climb back up
    (new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then(b => new A);
                                                                   ~~~~~
!!! error TS2741: Property 'z' is missing in type 'B' but required in type 'C'.
!!! related TS2728 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts:15:5: 'z' is declared here.
!!! related TS6502 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts:3:27: The expected type comes from the return type of this signature.
                                                                                    ~~~~~
!!! error TS2739: Type 'A' is missing the following properties from type 'C': z, y
!!! related TS6502 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts:3:27: The expected type comes from the return type of this signature.