blob: 3b8607e9a686201ceb451e0fd4a3df9b882e16d0 [file] [log] [blame]
library test;
T f<T>() => throw '';
class A {
C operator +(F v) => throw '';
C operator -(int i) => throw '';
}
class B extends A {
D operator +(E v) => throw '';
D operator -(int i) => throw '';
}
class C extends B {}
class D extends C {}
class E extends D {}
class F extends E {}
class Index {}
class Test {
B operator [](Index i) => throw '';
void operator []=(Index i, A v) {}
void test() {}
}
class Test2 {
B? operator [](Index i) => throw '';
void operator []=(Index i, A? v) {}
void test() {}
}
main() {}