// @dart = 2.6
class A {}

class B extends A {}

class C {
  void set x1(covariant A value) {}
  void set x2(A value) {}
  void set x3(covariant A value) {}
  void set x4(A value) {}
  void set x5(covariant A value) {}
  void set x6(covariant B value) {}
}

class D extends C {
  void set x1(B value) {}
  void set x2(covariant B value) {}
  void set x3(covariant B value) {}
  void set x4(B value) {}
  void set x5(covariant String value) {}
  void set x6(covariant A value) {}
}

main() {}
