// @dart = 2.13
class A {
  const A();
}

void Function<@A() T>(T)? f;
typedef F = void Function<@A() T>(T);
typedef void G<@A() T>(T t);
void method1<@A() T>(T t) {}
void method2(void Function<@A() T>(T) f) {}

class Class<T extends void Function<@A() S>(S)> {}

main() {}
