tests/cases/compiler/errorMessagesIntersectionTypes03.ts(17,5): error TS2322: Type 'A & B' is not assignable to type 'T'.
tests/cases/compiler/errorMessagesIntersectionTypes03.ts(18,5): error TS2322: Type 'A & B' is not assignable to type 'U'.
tests/cases/compiler/errorMessagesIntersectionTypes03.ts(19,5): error TS2322: Type 'A & B' is not assignable to type 'V'.
tests/cases/compiler/errorMessagesIntersectionTypes03.ts(22,5): error TS2322: Type 'T & B' is not assignable to type 'U'.
tests/cases/compiler/errorMessagesIntersectionTypes03.ts(23,5): error TS2322: Type 'T & B' is not assignable to type 'V'.


==== tests/cases/compiler/errorMessagesIntersectionTypes03.ts (5 errors) ====
    interface A {
        a;
    }
    
    interface B {
        b;
    }
    
    function f<T, U extends A, V extends U>(): void {
        let t: T;
        let u: U;
        let v: V;
    
        let a_and_b: A & B;
        let t_and_b: T & B;
    
        t = a_and_b;
        ~
!!! error TS2322: Type 'A & B' is not assignable to type 'T'.
        u = a_and_b;
        ~
!!! error TS2322: Type 'A & B' is not assignable to type 'U'.
        v = a_and_b;
        ~
!!! error TS2322: Type 'A & B' is not assignable to type 'V'.
    
        t = t_and_b;
        u = t_and_b;
        ~
!!! error TS2322: Type 'T & B' is not assignable to type 'U'.
        v = t_and_b;
        ~
!!! error TS2322: Type 'T & B' is not assignable to type 'V'.
    }