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

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