tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints4.ts(13,12): error TS2345: Argument of type '{ [x: number]: undefined; length: number; charAt: (x: number) => void; }' is not assignable to parameter of type 'string'.


==== tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints4.ts (1 errors) ====
    class C<T extends { length: number }> {
        constructor(x: T) { }
        foo<U extends T>(x: U) {
            function bar<V extends U>(x: V) {
                return x;
            }
            return bar;
        }
    }
    
    var c = new C({ length: 2 });
    var r = c.foo('');
    var r2 = r({ length: 3, charAt: (x: number) => { '' } }); // error
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2345: Argument of type '{ [x: number]: undefined; length: number; charAt: (x: number) => void; }' is not assignable to parameter of type 'string'.