class _Closure1 {
  void Function() get call => () {};
}

class _Closure2 {
  final void Function() call;
  _Closure2(this.call);
}

test(_Closure1 foo, _Closure2 bar) {}
late _Closure1 closure1;
late _Closure2 closure2;
var field1 = closure1();
var field2 = closure2();
main() {}
