• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1class A { a }
2class B extends A { b }
3class C<T> extends Array<T> { c }
4declare var ara: A[];
5declare var arb: B[];
6declare var cra: C<A>;
7declare var crb: C<B>;
8declare var rra: ReadonlyArray<A>;
9declare var rrb: ReadonlyArray<B>;
10rra = ara;
11rrb = arb; // OK, Array<B> is assignable to ReadonlyArray<A>
12rra = arb;
13rrb = ara; // error: 'A' is not assignable to 'B'
14
15rra = cra;
16rra = crb; // OK, C<B> is assignable to ReadonlyArray<A>
17rrb = crb;
18rrb = cra; // error: 'A' is not assignable to 'B'
19