| // @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() {} |