blob: f4a5167c17b91bbcfabcaa82c3d93348fc328441 [file] [log] [blame]
class A {
A operator +(A a) => a;
B operator -() => new B();
B operator [](A a) => new B();
void operator []=(A a1, A a2) {}
}
class B extends A {
A operator +(B b) => b;
A operator -() => this;
B operator [](B b) => b;
void operator []=(B b, A a) {}
}
class C extends A {
A operator [](B b) => b;
void operator []=(A a, B b) {}
}
main() {}