tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints4.ts(13,25): error TS2322: Type '(x: number) => void' is not assignable to type '(pos: number) => string'.
  Type 'void' is not assignable to 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 TS2322: Type '(x: number) => void' is not assignable to type '(pos: number) => string'.
!!! error TS2322:   Type 'void' is not assignable to type 'string'.