library test;

class B<T, U extends F<T>> {
  B<T, F<T>> operator +(other) => throw '';
}

class C {
  B<num, F<num>> operator [](int i) => throw '';
  B<num, F<num>> x = throw '';
  static B<num, F<num>> y = throw '';
  void operator []=(int i, B<num, F<num>> v) {}
}

typedef void F<T>(T x);
void main() {}
void test1(B<num, F<num>> b) {}
void test2(C c) {}
void test3(C c) {}
void test4(C c) {}
