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 Base {
  B? member2;
  B member = throw '';
}

class C extends B {}

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

main() {}
