class A {
  int boz = 0;
  num bar({required int x}) {}
  num foo(int n) {}
  void set baz(int x) {}
}

class C extends A with B<num> {}

mixin B<X> {
  X bar({required X x});
  X foo(X x);
  void set baz(X x);
  void set boz(X x);
}

throws(void Function() f) {}

void main() {}
