blob: 904a78ce7c248ecb75f2231f5def289e2dbb8774 [file] [log] [blame]
// @dart = 2.9
library test;
int getInt() => 0;
num getNum() => 0;
double getDouble() => 0.0;
abstract class Base<T, U> {
T operator [](String s) => getValue(s);
void operator []=(String s, U v) => setValue(s, v);
T getValue(String s);
void setValue(String s, U v);
}
abstract class Test1 extends Base<int, int> {
void test() {}
}
abstract class Test2 extends Base<int, num> {
void test() {}
}
abstract class Test3 extends Base<int, double> {
void test() {}
}
abstract class Test4 extends Base<num, int> {
void test() {}
}
abstract class Test5 extends Base<num, num> {
void test() {}
}
abstract class Test6 extends Base<num, double> {
void test() {}
}
abstract class Test7 extends Base<double, int> {
void test() {}
}
abstract class Test8 extends Base<double, num> {
void test() {}
}
abstract class Test9 extends Base<double, double> {
void test() {}
}
main() {}