import './issue41842_lib.dart' as lib;

class A<T> {
  A();
  factory A.foo2(int x) = B.foo<T>;
  factory A.foo3(int x) = B<T>.foo;
  factory A.foo4(int x) = lib.Foo<T>;
  factory A.foo5(int x) = B.bar<T>;
  factory A.foo6(int x) = B<T>.bar;
  factory A.foo7(int x) = lib.Bar<T>;
}

class B<T> extends A<T> {
  B.foo(int x) {}
  factory B.bar(int x) => B.foo(x);
}

void main() {}
