// @dart = 2.9
class A {}

class B extends A {}

List<B> xs;
List<List<B>> xss;

class Class<T extends A> {
  void method1a(T t) {}
  void method1b(T t) {}
  void method2a(T t) {}
  void method2b(T t) {}
}

void main() {}
void errors() {}
void throws(void Function() f) {}
