blob: 1cbbc8e806285b1d923d97b903f6a1bc7e6ce2b9 [file] [log] [blame]
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
class A {}
class B<T> {}
class C<X, Y> {}
class D<X extends num> {}
typedef F = A;
typedef G0 = B;
typedef G1 = B<int>;
typedef G2<T> = B<T>;
typedef G3<T extends num> = B<T>;
typedef H0 = C;
typedef H1 = C<int, String>;
typedef H2<T> = C<int, T>;
typedef H3<T, S> = C<T, S>;
typedef H4<T, S> = C<S, T>;
typedef H5<T extends num, S> = C<T, S>;
typedef H6<T, S extends num> = C<T, S>;
typedef I0 = D;
typedef I1 = D<num>;
typedef I2<T extends num> = D<T>;
typedef I3<T extends int> = D<T>;
main() {
var f = F.new;
var g0 = G0.new;
var g1 = G1.new;
var g2a = G2.new;
var g2b = G2<int>.new;
var g3a = G3.new;
var g3b = G3<int>.new;
var h0 = H0.new;
var h1 = H1.new;
var h2a = H2.new;
var h2b = H2<int>.new;
var h3a = H3.new;
var h3b = H3<int, String>.new;
var h4a = H4.new;
var h4b = H4<int, String>.new;
var h5a = H5.new;
var h5b = H5<int, String>.new;
var h6a = H6.new;
var h6b = H6<String, int>.new;
var i0 = I0.new;
var i1 = I1.new;
var i2a = I2.new;
var i2b = I2<int>.new;
var i3a = I3.new;
var i3b = I3<int>.new;
}