// @dart = 2.9
library test;

T f<T>() => null;

class A {
  C operator *(D value) => null;
  C operator +(int value) => null;
}

class B {
  E operator *(F value) => null;
  E operator +(int value) => null;
}

class C extends B {}

class D {}

class E {}

class F {}

class G {
  A get target => null;
  void set target(B value) {}
}

main() {}
void test1(G g) {}
void test2(G g) {}
void test3(G g) {}
