File: wrappedRecursiveGenericType.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (22 lines) | stat: -rw-r--r-- 611 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//// [wrappedRecursiveGenericType.ts]
interface X<T> { e: T; }
interface A<T> {
    a: B<T>;
    val: T;
}
interface B<T> {
    b: A<X<T>>;
    val: T;
}
var x: A<number>;
x.val = 5;         // val -> number
x.a.val = 5;       // val -> number
x.a.b.val = 5;     // val -> X<number> (This should be an error)
x.a.b.a.val = 5;   // val -> X<number> (This should be an error)

//// [wrappedRecursiveGenericType.js]
var x;
x.val = 5; // val -> number
x.a.val = 5; // val -> number
x.a.b.val = 5; // val -> X<number> (This should be an error)
x.a.b.a.val = 5; // val -> X<number> (This should be an error)