// @dart = 2.9
abstract class Class extends SuperClass {
  void set setter(covariant int o);
}

class SubClass extends Class {
  void set setter(covariant int o) {}
}

class SuperClass {
  void set setter(Object o) {}
}

main() {}
test() {}
