import './issue41842_lib.dart' as lib;
class A<T> {
  A();
  factory A.foo1(int x) = B<T>;
  factory A.foo2(int x) = B.foo<T>;
  factory A.foo3(int x) = B<T>.foo;
  factory A.foo5(int x) = B.bar<T>;
  factory A.foo6(int x) = B<T>.bar;
  factory A.foo4(int x) = lib.Foo<T>;
  factory A.foo7(int x) = lib.Bar<T>;
  factory A.foo8(int x) = lib.Foo.foo;
  <
  T;
  operator>();
  factory A.foo9(int x) = lib.Foo<T>.foo;
  factory A.foo10(int x) = lib.Foo.bar;
  <
  T;
  operator>();
  factory A.foo11(int x) = lib.Foo<T>.bar;
  factory A.foo12(int x) = B<T>.foo;
  <
  T;
  operator>();
  factory A.foo13(int x) = B<T>.bar;
  <
  T;
  operator>();
}
class B<T> extends A<T> {
  B(int x);
  B.foo(int x);
  factory B.bar(int x) => B.foo(x);
}
void main() {}
