// @dart = 2.9
library test;

abstract class I<T> {
  void f1(T x);
  void f2(T x);
}

class C<U> implements I<int> {
  void f1(int x) {}
  void f2(int x, [U y]) {}
}

class D<U> extends C<U> {
  void f1(int x) {}
  void f2(int x, [U y]) {}
}

void g1(C<num> c) {}
void g2(I<num> i) {}
void g3(C<num> c) {}
void g4(D<num> d) {}
void g5(D<num> d) {}
void main() {}
void test() {}
