blob: ebc6c89b7744816fed8bbf373d65b57c0b134b72 [file] [log] [blame]
class A<T> {
A();
factory A.fact() => new A<T>();
factory A.redirect() = A<T>;
}
const A<int> Function() f1c = F.new;
const A<int> Function() f1f = F.fact;
const A<int> Function() f1i = F.redirect;
const A<int> Function() g1c = G.new;
const A<int> Function() h1c = H.new;
const f1a = A<int>.new;
const f1b = F<int>.new;
const f1d = A<int>.fact;
const f1e = F<int>.fact;
const f1g = A<int>.redirect;
const f1h = F<int>.redirect;
const g1a = A<int>.new;
const g1b = G<String>.new;
const h1a = A<int>.new;
const h1b = H<int, String>.new;
expect(expected, actual) {}
final bool inSoundMode = <int?>[] is! List<int>;
main() {}
test<T extends num>() {}
typedef F<X extends num> = A<X>;
typedef G<Y> = A<int>;
typedef H<X, Y> = A<X>;