// @dart = 2.9
class A {
  operator +(String s) => null;
  operator [](i) => null;
  operator []=(i, val) {}
}

class B extends A {
  operator +(String s) => super + ("${s}${s}");
  operator [](i) => super[i];
  operator []=(i, val) => super[i++] += val;
}

class Autobianchi {
  g() => super[0];
}
