library test;

T f<T>() => throw '';

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

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

class C extends B {}

class D {}

class E {}

class F {}

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

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