library test;

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

class A {}

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

class C extends B {}

class Index {}

class Test {
  B operator [](Index i) => throw '';
  void operator []=(Index i, B v) {}
  void test() {}
}

class Test2 {
  B? operator [](Index i) => throw '';
  void operator []=(Index i, B? v) {}
  void test() {}
}

main() {}
