Skip to content

Commit 32edbe0

Browse files
committed
Issue #946: LanguageFeatures/Instantiate-to-bounds/typedef/static/typedef_l2_t03_* tests updated according to the recent SDK changes.
1 parent e67a315 commit 32edbe0

16 files changed

+652
-74
lines changed

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

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

58-
main() {
59-
G? source;
58+
test(G source) {
6059
var fsource = toF(source);
61-
F<G<A<Never>, A<Never>>?>? target = fsource;
6260

63-
/* F<G<A<Null>, A<Null>>?>? target1 = fsource;
64-
// ^^^^^^^
65-
// [analyzer] unspecified
66-
// [cfe] unspecified
67-
68-
F<G<A<Null>, A<Never>>?>? target2 = fsource;
69-
// ^^^^^^^
70-
// [analyzer] unspecified
71-
// [cfe] unspecified
72-
73-
F<G<A<Never>, A<Null>>?>? target3 = fsource;
61+
F<G<A<dynamic>, A<Never>>> target = fsource;
7462
// ^^^^^^^
7563
// [analyzer] unspecified
7664
// [cfe] unspecified
7765

78-
F<G<A<dynamic>, dynamic>?>? target4 = fsource;
79-
// ^^^^^^^
80-
// [analyzer] unspecified
81-
// [cfe] unspecified
82-
83-
F<G<A<dynamic>, A<dynamic>>?>? target5 = fsource;
84-
// ^^^^^^^
66+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
67+
// ^^^^^^^
8568
// [analyzer] unspecified
8669
// [cfe] unspecified
8770

88-
F<G<A<Never>, A<dynamic>>?>? target6 = fsource;
71+
F<G<A<Never>, A<dynamic>>> target2 = fsource;
8972
// ^^^^^^^
9073
// [analyzer] unspecified
9174
// [cfe] unspecified
9275

93-
F<G<A<Null>, A<dynamic>>?>? target7 = fsource;
94-
// ^^^^^^^
95-
// [analyzer] unspecified
96-
// [cfe] unspecified
76+
F<G<A<Never>, A<Never>>> target3 = fsource;
9777

98-
F<G<A<dynamic>, A<Never>>?>? target8 = fsource;
78+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
9979
// ^^^^^^^
10080
// [analyzer] unspecified
10181
// [cfe] unspecified
10282

103-
F<G<A<dynamic>, A<Null>>?>? target9 = fsource;
104-
// ^^^^^^^
83+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
84+
// ^^^^^^^
10585
// [analyzer] unspecified
10686
// [cfe] unspecified
10787

108-
F<G<dynamic, A<dynamic>>?>? target10 = fsource;
88+
F<G<A<Null>, A<Null>>> target6 = fsource;
10989
// ^^^^^^^
11090
// [analyzer] unspecified
11191
// [cfe] unspecified
112-
*/
11392
}

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

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,85 @@
5252
*/
5353
// SharedOptions=--enable-experiment=non-nullable
5454

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

58-
main() {
59-
G? source; //# 01: compile-time error
60+
test(G source) {
61+
var fsource = toF(source);
62+
63+
F<G<A<dynamic>, A<Never>>> target0 = fsource;
64+
// ^^^^^^^
65+
// [analyzer] unspecified
66+
// [cfe] unspecified
67+
68+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
69+
// ^^^^^^^
70+
// [analyzer] unspecified
71+
// [cfe] unspecified
72+
73+
F<G<A<Never>, A<dynamic>>> target2 = fsource;
74+
// ^^^^^^^
75+
// [analyzer] unspecified
76+
// [cfe] unspecified
77+
78+
F<G<A<Never>, A<Never>>> target3 = fsource;
79+
// ^^^^^^^
80+
// [analyzer] unspecified
81+
// [cfe] unspecified
82+
83+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
84+
// ^^^^^^^
85+
// [analyzer] unspecified
86+
// [cfe] unspecified
87+
88+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
89+
// ^^^^^^^
90+
// [analyzer] unspecified
91+
// [cfe] unspecified
92+
93+
F<G<A<Null>, A<Null>>> target6 = fsource;
94+
// ^^^^^^^
95+
// [analyzer] unspecified
96+
// [cfe] unspecified
97+
98+
F<G<dynamic, Never>> target7 = fsource;
99+
// ^^^^^^^
100+
// [analyzer] unspecified
101+
// [cfe] unspecified
102+
103+
F<G<dynamic, dynamic>> target8 = fsource;
104+
// ^^^^^^^
105+
// [analyzer] unspecified
106+
// [cfe] unspecified
107+
108+
F<G<Never, dynamic>> target9 = fsource;
109+
// ^^^^^^^
110+
// [analyzer] unspecified
111+
// [cfe] unspecified
112+
113+
F<G<Never, Never>> target10 = fsource;
114+
// ^^^^^^^
115+
// [analyzer] unspecified
116+
// [cfe] unspecified
117+
118+
F<G<dynamic, A<Never>>> target11 = fsource;
119+
// ^^^^^^^
120+
// [analyzer] unspecified
121+
// [cfe] unspecified
122+
123+
F<G<dynamic, A<dynamic>>> target12 = fsource;
124+
// ^^^^^^^
125+
// [analyzer] unspecified
126+
// [cfe] unspecified
127+
128+
F<G<Never, A<dynamic>>> target13 = fsource;
129+
130+
F<G<Never, A<Never>>> target14 = fsource;
131+
// ^^^^^^^
132+
// [analyzer] unspecified
133+
// [cfe] unspecified
60134
}
135+
136+
main() {}

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

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

55+
import "../../../../Utils/expect.dart";
56+
5557
class A<X> {}
5658
typedef G<X extends Y, 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<dynamic>, A<Never>>> target0 = fsource;
64+
// ^^^^^^^
65+
// [analyzer] unspecified
66+
// [cfe] unspecified
67+
68+
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
69+
// ^^^^^^^
70+
// [analyzer] unspecified
71+
// [cfe] unspecified
72+
73+
F<G<A<Never>, A<dynamic>>> target2 = fsource;
74+
// ^^^^^^^
75+
// [analyzer] unspecified
76+
// [cfe] unspecified
77+
78+
F<G<A<Never>, A<Never>>> target3 = fsource;
79+
// ^^^^^^^
80+
// [analyzer] unspecified
81+
// [cfe] unspecified
82+
83+
F<G<A<dynamic>, A<Null>>> target4 = fsource;
84+
// ^^^^^^^
85+
// [analyzer] unspecified
86+
// [cfe] unspecified
87+
88+
F<G<A<Null>, A<dynamic>>> target5 = fsource;
89+
// ^^^^^^^
90+
// [analyzer] unspecified
91+
// [cfe] unspecified
92+
93+
F<G<A<Null>, A<Null>>> target6 = fsource;
94+
// ^^^^^^^
95+
// [analyzer] unspecified
96+
// [cfe] unspecified
97+
98+
F<G<dynamic, Never>> target7 = fsource;
99+
// ^^^^^^^
100+
// [analyzer] unspecified
101+
// [cfe] unspecified
102+
103+
F<G<dynamic, dynamic>> target8 = fsource;
104+
// ^^^^^^^
105+
// [analyzer] unspecified
106+
// [cfe] unspecified
107+
108+
F<G<Never, dynamic>> target9 = fsource;
109+
// ^^^^^^^
110+
// [analyzer] unspecified
111+
// [cfe] unspecified
112+
113+
F<G<Never, Never>> target10 = fsource;
114+
// ^^^^^^^
115+
// [analyzer] unspecified
116+
// [cfe] unspecified
117+
118+
F<G<dynamic, A<Never>>> target11 = fsource;
119+
// ^^^^^^^
120+
// [analyzer] unspecified
121+
// [cfe] unspecified
122+
123+
F<G<dynamic, A<dynamic>>> target12 = fsource;
124+
// ^^^^^^^
125+
// [analyzer] unspecified
126+
// [cfe] unspecified
127+
128+
F<G<Never, A<dynamic>>> target13 = fsource;
129+
130+
F<G<Never, A<Never>>> target14 = fsource;
131+
// ^^^^^^^
61132
// [analyzer] unspecified
62133
// [cfe] unspecified
63134
}
135+
136+
main() {}

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

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

59-
main() {
60-
G? source; //# 01: compile-time error
59+
test(G source) {
60+
void Function<X extends A<dynamic>, Y extends A<dynamic>>() target1 = source;
61+
62+
void Function<X extends A<dynamic>, Y extends A<Never>>() target2 = source;
63+
// ^^^^^^
64+
// [analyzer] unspecified
65+
// [cfe] unspecified
66+
67+
void Function<X extends A<Never>, Y extends A<dynamic>>() target3 = source;
68+
// ^^^^^^
69+
// [analyzer] unspecified
70+
// [cfe] unspecified
71+
72+
void Function<X extends A<Never>, Y extends A<Never>>() target4 = source;
73+
// ^^^^^^
74+
// [analyzer] unspecified
75+
// [cfe] unspecified
76+
77+
void Function<X extends A<dynamic>, Y extends A<Null>>() target5 = source;
78+
// ^^^^^^
79+
// [analyzer] unspecified
80+
// [cfe] unspecified
81+
82+
void Function<X extends A<Null>, Y extends A<dynamic>>() target6 = source;
83+
// ^^^^^^
84+
// [analyzer] unspecified
85+
// [cfe] unspecified
86+
87+
void Function<X extends A<Null>, Y extends A<Null>>() target7 = source;
88+
// ^^^^^^
89+
// [analyzer] unspecified
90+
// [cfe] unspecified
6191
}
92+
93+
main() {}

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

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,20 @@ class A<X> {}
5656
typedef G<X extends Y, 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+
// ^^^^^^
66+
// [analyzer] unspecified
67+
// [cfe] unspecified
68+
69+
void Function<X extends A<Never>, Y extends A<Never>>(A<Never>, A<Never>) target4 = source;
70+
// ^^^^^^
6271
// [analyzer] unspecified
6372
// [cfe] unspecified
6473
}
74+
75+
main() {}

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

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

60-
main() {
61-
G? source;
62-
// ^^^^^^
60+
test(G source) {
61+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>) target1 = source;
62+
63+
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>) target2 = source;
64+
65+
void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>) target3 = source;
66+
// ^^^^^^
67+
// [analyzer] unspecified
68+
// [cfe] unspecified
69+
70+
void Function<X extends A<Never>, Y extends A<Never>>(A<Never>) target4 = source;
71+
// ^^^^^^
6372
// [analyzer] unspecified
6473
// [cfe] unspecified
6574
}
75+
76+
main() {}

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

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,20 @@ class A<X> {}
5656
typedef G<X extends Y, Y extends A<Y>> =
5757
void Function<X1 extends X, Y1 extends Y>(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>) 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+
// ^^^^^^
66+
// [analyzer] unspecified
67+
// [cfe] unspecified
68+
69+
void Function<X extends A<Never>, Y extends A<Never>>(A<Never>) target4 = source;
70+
// ^^^^^^
6271
// [analyzer] unspecified
6372
// [cfe] unspecified
6473
}
74+
75+
main() {}

0 commit comments

Comments
 (0)