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 operator [](int i) => throw '';
  void operator []=(int i, B value) {}
}

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