tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints.ts(16,9): error TS2684: The 'this' context of type 'C<Foo>' is not assignable to method's 'this' of type 'C<T>'.
  Type 'Foo' is not assignable to type 'T'.
    'Foo' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Date'.


==== tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints.ts (1 errors) ====
    // no errors expected
    
    class C<T extends Date> {
        constructor(public data: T) { }
        foo<U extends T>(x: U) {
            return x;
        }
    }
    
    interface Foo extends Date {
        foo: string;
    }
    
    var y: Foo = null;
    var c = new C(y);
    var r = c.foo(y);
            ~
!!! error TS2684: The 'this' context of type 'C<Foo>' is not assignable to method's 'this' of type 'C<T>'.
!!! error TS2684:   Type 'Foo' is not assignable to type 'T'.
!!! error TS2684:     'Foo' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Date'.