tests/cases/compiler/wrappedRecursiveGenericType.ts(13,1): error TS2322: Type 'number' is not assignable to type 'X<number>':
  Property 'e' is missing in type 'Number'.
tests/cases/compiler/wrappedRecursiveGenericType.ts(14,1): error TS2323: Type 'number' is not assignable to type 'X<number>'.


==== tests/cases/compiler/wrappedRecursiveGenericType.ts (2 errors) ====
    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)
    ~~~~~~~~~
!!! error TS2322: Type 'number' is not assignable to type 'X<number>':
!!! error TS2322:   Property 'e' is missing in type 'Number'.
    x.a.b.a.val = 5;   // val -> X<number> (This should be an error)
    ~~~~~~~~~~~
!!! error TS2323: Type 'number' is not assignable to type 'X<number>'.