// @dart = 2.9
library test;

T f<T>() => null;

class A {}

class B extends A {
  A operator +(C v) => null;
  B operator *(B v) => null;
  B operator -(int i) => null;
  C operator &(A v) => null;
}

class Base {
  B operator [](Index i) => null;
  void operator []=(Index i, B v) {}
}

class C extends B {}

class Index {}

class Test extends Base {
  void test() {}
}

main() {}
