library test;

abstract class Test<T, U> {
  T operator [](String s);
  void operator []=(String s, U v);
}

abstract class Test2<T, U> {
  T? operator [](String s);
  void operator []=(String s, U? v);
}

double getDouble() => 0.0;
int getInt() => 0;
main() {}
num getNum() => 0;
void test1(Test<int, int> t, Test2<int, int> t2) {}
void test2(Test<int, num> t, Test2<int, num> t2) {}
void test3(Test<int, double> t, Test2<int, double> t2) {}
void test4(Test<num, int> t, Test2<num, int> t2) {}
void test5(Test<num, num> t, Test2<num, num> t2) {}
void test6(Test<num, double> t, Test2<num, double> t2) {}
void test7(Test<double, int> t, Test2<double, int> t2) {}
void test8(Test<double, num> t, Test2<double, num> t2) {}
void test9(Test<double, double> t, Test2<double, double> t2) {}
