blob: 7fa3351a9addf96cbd83bf823afd2bd2d8b9595a [file] [log] [blame]
class A<T> {
A();
factory A.fact() => new A();
factory A.redirect() = A;
}
typedef B<T> = A<T>;
typedef C<T> = A<int>;
const a = A.new;
const b = A<int>.new;
const c = A.fact;
const d = A<int>.fact;
const e = A.redirect;
const f = A<int>.redirect;
const g = B.new;
const h = B<int>.new;
const i = B.fact;
const j = B<int>.fact;
const k = B.redirect;
const l = B<int>.redirect;
const m = C.new;
const n = C<int>.new;
const o = C.fact;
const p = C<int>.fact;
const q = C.redirect;
const r = C<int>.redirect;
main() {}