Skip to content

Commit 8bb6b81

Browse files
committed
Issue #946: LanguageFeatures/Instantiate-to-bounds/typrdef/static/typedef_l2_* tests updated according to the SDK changes.
1 parent dc46c2a commit 8bb6b81

21 files changed

+518
-76
lines changed

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t19.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@
5050
*/
5151
// SharedOptions=--enable-experiment=non-nullable
5252

53-
import "../../../../Utils/expect.dart";
54-
5553
class A<X> {}
5654
typedef G<X extends A<X>> = void Function<Y extends X?>();
5755

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t01.dart

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,43 @@
5151
*/
5252
// SharedOptions=--enable-experiment=non-nullable
5353

54+
import "../../../../Utils/expect.dart";
55+
5456
class A<X> {}
5557
typedef G<X extends A<X>, Y extends A<Y>> = X Function(Y);
5658

57-
main() {
58-
G? source;
59-
// ^^^^^^^
59+
test(G source) {
60+
var fsource = toF(source);
61+
62+
F<G<A<dynamic>, A<Never>>> target = fsource;
63+
64+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
65+
// ^^^^^^^
66+
// [analyzer] unspecified
67+
// [cfe] unspecified
68+
69+
F<G<A<Never>, A<dynamic>>> target2 = fsource;
70+
// ^^^^^^^
71+
// [analyzer] unspecified
72+
// [cfe] unspecified
73+
74+
F<G<A<Never>, A<Never>>> target3 = fsource;
75+
// ^^^^^^^
6076
// [analyzer] unspecified
6177
// [cfe] unspecified
6278

79+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
80+
// ^^^^^^^
81+
// [analyzer] unspecified
82+
// [cfe] unspecified
83+
84+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
85+
// ^^^^^^^
86+
// [analyzer] unspecified
87+
// [cfe] unspecified
88+
89+
F<G<A<Null>, A<Null>>> target6 = fsource;
90+
// ^^^^^^^
91+
// [analyzer] unspecified
92+
// [cfe] unspecified
6393
}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t02.dart

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,49 @@
4747
* Function(X)]
4848
*
4949
* @Issue 41963, 41964
50-
*
5150
5251
*/
5352
// SharedOptions=--enable-experiment=non-nullable
5453

54+
import "../../../../Utils/expect.dart";
55+
5556
class A<X> {}
5657
typedef G<X extends A<X>, Y extends A<Y>> = Y Function(X);
5758

58-
main() {
59-
G? source;
60-
// ^^^^^^^
59+
test(G source) {
60+
var fsource = toF(source);
61+
62+
F<G<A<Never>, A<dynamic>>> target = fsource;
63+
64+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
65+
// ^^^^^^^
66+
// [analyzer] unspecified
67+
// [cfe] unspecified
68+
69+
F<G<A<dynamic>, A<Never>>> target2 = fsource;
70+
// ^^^^^^^
71+
// [analyzer] unspecified
72+
// [cfe] unspecified
73+
74+
F<G<A<Never>, A<Never>>> target3 = fsource;
75+
// ^^^^^^^
6176
// [analyzer] unspecified
6277
// [cfe] unspecified
6378

79+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
80+
// ^^^^^^^
81+
// [analyzer] unspecified
82+
// [cfe] unspecified
83+
84+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
85+
// ^^^^^^^
86+
// [analyzer] unspecified
87+
// [cfe] unspecified
88+
89+
F<G<A<Null>, A<Null>>> target6 = fsource;
90+
// ^^^^^^^
91+
// [analyzer] unspecified
92+
// [cfe] unspecified
6493
}
94+
95+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t03.dart

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,45 @@
5252
*/
5353
// SharedOptions=--enable-experiment=non-nullable
5454

55+
import "../../../../Utils/expect.dart";
56+
5557
class A<X> {}
5658
typedef G<X extends A<X>, Y extends A<Y>> = X Function(X, Y);
5759

58-
main() {
59-
G? source;
60-
// ^^^^^^^
60+
test(G source) {
61+
var fsource = toF(source);
62+
63+
F<G<A<dynamic>, A<Never>>> target = fsource;
64+
65+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
66+
// ^^^^^^^
67+
// [analyzer] unspecified
68+
// [cfe] unspecified
69+
70+
F<G<A<Never>, A<dynamic>>> target2 = fsource;
71+
// ^^^^^^^
72+
// [analyzer] unspecified
73+
// [cfe] unspecified
74+
75+
F<G<A<Never>, A<Never>>> target3 = fsource;
76+
// ^^^^^^^
6177
// [analyzer] unspecified
6278
// [cfe] unspecified
6379

80+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
81+
// ^^^^^^^
82+
// [analyzer] unspecified
83+
// [cfe] unspecified
84+
85+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
86+
// ^^^^^^^
87+
// [analyzer] unspecified
88+
// [cfe] unspecified
89+
90+
F<G<A<Null>, A<Null>>> target6 = fsource;
91+
// ^^^^^^^
92+
// [analyzer] unspecified
93+
// [cfe] unspecified
6494
}
95+
96+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t04.dart

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,45 @@
5252
*/
5353
// SharedOptions=--enable-experiment=non-nullable
5454

55+
import "../../../../Utils/expect.dart";
56+
5557
class A<X> {}
5658
typedef G<X extends A<X>, Y extends A<Y>> = Y Function(X, Y);
5759

58-
main() {
59-
G? source;
60-
// ^^^^^^^
60+
test(G source) {
61+
var fsource = toF(source);
62+
63+
F<G<A<Never>, A<dynamic>>> target = fsource;
64+
65+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
66+
// ^^^^^^^
67+
// [analyzer] unspecified
68+
// [cfe] unspecified
69+
70+
F<G<A<dynamic>, A<Never>>> target2 = fsource;
71+
// ^^^^^^^
72+
// [analyzer] unspecified
73+
// [cfe] unspecified
74+
75+
F<G<A<Never>, A<Never>>> target3 = fsource;
76+
// ^^^^^^^
6177
// [analyzer] unspecified
6278
// [cfe] unspecified
6379

80+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
81+
// ^^^^^^^
82+
// [analyzer] unspecified
83+
// [cfe] unspecified
84+
85+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
86+
// ^^^^^^^
87+
// [analyzer] unspecified
88+
// [cfe] unspecified
89+
90+
F<G<A<Null>, A<Null>>> target6 = fsource;
91+
// ^^^^^^^
92+
// [analyzer] unspecified
93+
// [cfe] unspecified
6494
}
95+
96+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t05.dart

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,39 +55,40 @@ import "../../../../Utils/expect.dart";
5555
class A<X> {}
5656
typedef G<X extends A<X>, Y extends A<Y>> = void Function(X, Y);
5757

58-
main() {
59-
G? source;
58+
test(G source) {
6059
var fsource = toF(source);
6160

62-
F<G<A<Never>, A<Never>>?>? target = fsource;
61+
F<G<A<Never>, A<Never>>> target = fsource;
6362

64-
F<G<A<Null>, A<Null>>?>? target0 = fsource;
65-
// ^^^^^^^
63+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
64+
// ^^^^^^^
6665
// [analyzer] unspecified
6766
// [cfe] unspecified
6867

69-
F<G<A<dynamic>, dynamic>?>? target1 = fsource;
70-
// ^^^^^^^
68+
F<G<A<Never>, A<dynamic>>> target2 = fsource;
69+
// ^^^^^^^
7170
// [analyzer] unspecified
7271
// [cfe] unspecified
7372

74-
F<G<A<dynamic>, A<Null>>?>? target2 = fsource;
75-
// ^^^^^^^
73+
F<G<A<dynamic>, A<Never>>> target3 = fsource;
74+
// ^^^^^^^
7675
// [analyzer] unspecified
7776
// [cfe] unspecified
7877

79-
F<G<A<dynamic>, A<Never>>?>? target3 = fsource;
78+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
8079
// ^^^^^^^
8180
// [analyzer] unspecified
8281
// [cfe] unspecified
8382

84-
F<G<A<dynamic>, A<dynamic>>?>? target4 = fsource;
85-
// ^^^^^^^
83+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
84+
// ^^^^^^^
8685
// [analyzer] unspecified
8786
// [cfe] unspecified
8887

89-
F<G<dynamic, A<dynamic>>?>? target5 = fsource;
90-
// ^^^^^^^
88+
F<G<A<Null>, A<Null>>> target6 = fsource;
89+
// ^^^^^^^
9190
// [analyzer] unspecified
9291
// [cfe] unspecified
9392
}
93+
94+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t06.dart

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,43 @@
4949
5050
*/
5151
// SharedOptions=--enable-experiment=non-nullable
52-
import "../../../../Utils/expect.dart";
5352

5453
class A<X> {}
5554
typedef G<X extends A<X>, Y extends A<Y>> =
56-
void Function<X1 extends X, Y1 extends Y>();
55+
void Function<X1 extends X, Y1 extends Y>();
5756

58-
main() {
59-
G? source;
60-
// ^^^^^^
57+
test(G source) {
58+
void Function<X extends A<dynamic>, Y extends A<dynamic>>() target1 = source;
59+
60+
void Function<X extends A<dynamic>, Y extends A<Never>>() target2 = source;
61+
// ^^^^^^
62+
// [analyzer] unspecified
63+
// [cfe] unspecified
64+
65+
void Function<X extends A<Never>, Y extends A<dynamic>>() target3 = source;
66+
// ^^^^^^
67+
// [analyzer] unspecified
68+
// [cfe] unspecified
69+
70+
void Function<X extends A<Never>, Y extends A<Never>>() target4 = source;
71+
// ^^^^^^
72+
// [analyzer] unspecified
73+
// [cfe] unspecified
74+
75+
void Function<X extends A<dynamic>, Y extends A<Null>>() target5 = source;
76+
// ^^^^^^
77+
// [analyzer] unspecified
78+
// [cfe] unspecified
79+
80+
void Function<X extends A<Null>, Y extends A<dynamic>>() target6 = source;
81+
// ^^^^^^
6182
// [analyzer] unspecified
6283
// [cfe] unspecified
6384

85+
void Function<X extends A<Null>, Y extends A<Null>>() target7 = source;
86+
// ^^^^^^
87+
// [analyzer] unspecified
88+
// [cfe] unspecified
6489
}
90+
91+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t07.dart

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,20 @@ class A<X> {}
5656
typedef G<X extends A<X>, Y extends A<Y>> =
5757
void Function<X1 extends X, Y1 extends Y>(X, Y);
5858

59-
main() {
60-
G? source;
61-
// ^^^^^^
59+
test(G source) {
60+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>, A<dynamic>) target1 = source;
61+
62+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>, A<Never>) target2 = source;
63+
64+
void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>, A<dynamic>) target3 = source;
65+
// ^^^^^^
6266
// [analyzer] unspecified
6367
// [cfe] unspecified
6468

69+
void Function<X extends A<Never>, Y extends A<Never>>(A<Never>, A<Never>) target4 = source;
70+
// ^^^^^^
71+
// [analyzer] unspecified
72+
// [cfe] unspecified
6573
}
74+
75+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t08.dart

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,20 @@ class A<X> {}
5656
typedef G<X extends A<X>, Y extends A<Y>> =
5757
void Function<X1 extends X, Y1 extends Y>(X);
5858

59-
main() {
60-
G? source;
61-
// ^^^^^^
59+
test(G source) {
60+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>) target1 = source;
61+
62+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>) target2 = source;
63+
64+
void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>) target3 = source;
65+
// ^^^^^^
6266
// [analyzer] unspecified
6367
// [cfe] unspecified
6468

69+
void Function<X extends A<Never>, Y extends A<Never>>(A<Never>) target4 = source;
70+
// ^^^^^^
71+
// [analyzer] unspecified
72+
// [cfe] unspecified
6573
}
74+
75+
main() {}

LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t09.dart

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,20 @@ class A<X> {}
5555
typedef G<X extends A<X>, Y extends A<Y>> =
5656
void Function<X1 extends X, Y1 extends Y>(Y);
5757

58-
main() {
59-
G? source;
60-
// ^^^^^^
58+
test(G source) {
59+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>) target1 = source;
60+
61+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>) target2 = source;
62+
63+
void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>) target3 = source;
64+
// ^^^^^^
6165
// [analyzer] unspecified
6266
// [cfe] unspecified
6367

68+
void Function<X extends A<Never>, Y extends A<Never>>(A<Never>) target4 = source;
69+
// ^^^^^^
70+
// [analyzer] unspecified
71+
// [cfe] unspecified
6472
}
73+
74+
main() {}

0 commit comments

Comments
 (0)