| 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() {} |