class A1<T> {}
typedef B1<T> = A1<T>;
class A2<T extends num> {}
typedef B2<T extends num> = A2<T>;
class A3<T extends List<dynamic>, S extends Never?> {}
typedef B3<T extends List<Object?>, S extends Null> = A3<T, S>;
class A4<T extends num> {}
typedef B4<T extends int> = A4<T>;
class A5<T extends List<dynamic>, S extends Never?> {}
typedef B5<T extends List<Object?>, S extends Null> = A5;
class StaticIdentityTest {
  const StaticIdentityTest(a, b) : assert(identical(a, b));
}
test1() => const StaticIdentityTest(A1.new, B1.new);
test2() => const StaticIdentityTest(A2.new, B2.new);
test3() => const StaticIdentityTest(A3.new, B3.new);
test4() => const StaticIdentityTest(A4.new, B4.new);
test5() => const StaticIdentityTest(A5.new, B5.new);
main() {}
