constraints0.ts(14,19): error TS2344: Type 'B' does not satisfy the constraint 'A'.
  Property 'a' is missing in type 'B' but required in type 'A'.


==== constraints0.ts (1 errors) ====
    interface A {
    	a: number;
    }
    
    interface B {
    	b: string;
    }
    
    interface C<T extends A> {
        x: T;
    }
    
    declare var v1: C<A>; // should work
    declare var v2: C<B>; // should not work
                      ~
!!! error TS2344: Type 'B' does not satisfy the constraint 'A'.
!!! error TS2344:   Property 'a' is missing in type 'B' but required in type 'A'.
!!! related TS2728 constraints0.ts:2:2: 'a' is declared here.
    
    var y = v1.x.a; // 'a' should be of type 'number'