| class C<X> { | |
| C.foo() {} | |
| factory C() => new C.foo(); | |
| factory C.bar() = C; | |
| } | |
| class D<X> { | |
| D(); | |
| factory D.bar() = D; | |
| factory D.foo() => new D(); | |
| } | |
| main() {} | |
| test() {} | |
| typedef A<X extends G<C<X>>> = C<X>; | |
| typedef B<X extends G<D<X>>> = D<X>; | |
| typedef G<X> = X Function(X); |