class A {
  dynamic operator*(dynamic other) => 42;
  dynamic operator[](int index) => 42;
  void operator[]=(int index, dynamic value) {}
  dynamic operator-() => 42;
}
extension E on A {
  dynamic operator+(dynamic other) => 42;
}
extension type ET on A {
  dynamic operator~/(dynamic other) => 42;
}
test(A a, E e, ET et) {}
main() {}
