Skip to content

Commit

Permalink
Fixes #979: I-2-b tests updated according to the recent changes for d…
Browse files Browse the repository at this point in the history
  • Loading branch information
iarkh committed Jan 28, 2021
1 parent f35ddce commit 6dc6bca
Show file tree
Hide file tree
Showing 52 changed files with 256 additions and 3,236 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,54 +46,19 @@
* with two related parameters: [typedef G<X extends A<X>, Y extends A<Y>> =
* void Function<Y1 extends Y>(X, Y)]
*
* @Issue 41963, 41964
* @Issue 41963, 41964, 44786
* @Issue dart-lang/language#1133
*
* @author iarkh@unipro.ru
*/

class A<X> {}
typedef G<X extends A<X>, Y extends A<Y>> = void Function<Y1 extends Y>(X, Y);

test(G source) {
void Function<X extends A<dynamic>>(A<Never>, A<dynamic>) target1 = source;

void Function<X extends A<dynamic>>(A<Never>, A<Never>) target2 = source;

void Function<X extends A<dynamic>>(A<dynamic>, A<Never>) target3 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<dynamic>>(A<Null>, A<Null>) target4 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<dynamic>>(A<dynamic>, A<Null>) target5 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>>(A<dynamic>, A<Never>) target6 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>>(A<Never>, A<Never>) target7 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>>(A<Never>, A<dynamic>) target8 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Null>>(A<Null>, A<Null>) target9 = source;
// ^^^^^^
main() {
G? source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -45,47 +45,20 @@
* @description Checks that instantiate-to-bounds works correctly for [typedef]
* with two related parameters: [typedef G<X extends A<X>, Y extends A<Y>> =
* void Function(X)]
*
* @Issue 34689, 34699, 41963, 41964
* @Issue dart-lang/language#1133
*
* @author iarkh@unipro.ru
*/

import "../../../../Utils/expect.dart";

class A<X> {}
typedef G<X extends A<X>, Y extends A<Y>> = void Function(X);

test(G source) {
var fsource = toF(source);

F<G<A<dynamic>, A<Never>>> target1 = fsource;
// ^^^^^^^
main() {
G? source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<dynamic>>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>> target3 = fsource;

F<G<A<Never>, A<Never>>> target4 = fsource;

F<G<A<dynamic>, A<Null>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>> target6 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<Null>>> target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -46,47 +46,19 @@
* with two related parameters: [typedef G<X extends A<X>, Y extends A<Y>> =
* void Function(Y)]
*
* @Issue 41963, 41964
* @Issue 41963, 41964, 44786
* @Issue dart-lang/language#1133
*
* @author iarkh@unipro.ru
*/

import "../../../../Utils/expect.dart";

class A<X> {}
typedef G<X extends A<X>, Y extends A<Y>> = void Function(Y);

test(G source) {
var fsource = toF(source);

F<G<A<dynamic>, A<Never>>> target1 = fsource;

F<G<A<dynamic>, A<dynamic>>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>> target3 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<Never>>> target4 = fsource;

F<G<A<dynamic>, A<Null>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>> target6 = fsource;
// ^^^^^^^
main() {
G? source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<Null>>> target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -47,65 +47,19 @@
* with two related parameters: [typedef G<X extends A<X>, Y extends X> = X
* Function(Y)]
*
* @Issue 35068, 41963, 41964
* @Issue 35068, 41963, 41964, 44786
* @Issue dart-lang/language#1133
*
* @author iarkh@unipro.ru
*/

import "../../../../Utils/expect.dart";

class A<X> {}
typedef G<X extends A<X>, Y extends X> = X Function(Y);

test(G source) {
var fsource = toF(source);

F<G<A<dynamic>, Never>> target = fsource;

F<G<A<dynamic>, Null>> target1 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, dynamic>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<dynamic>>> target3 = fsource;
// ^^^^^^^
main() {
G? source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Never>>> target4 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<Never>>> target6 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Null>>> target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>> target8 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<Null>>> target9 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -45,65 +45,20 @@
* @description Checks that instantiate-to-bounds works correctly for [typedef]
* with two related parameters: [typedef G<X extends A<X>, Y extends X> = X
* Function(X, Y)]
* @Issue 41963, 41964
*
* @Issue 41963, 4196444786
* @Issue dart-lang/language#1133
*
* @author iarkh@unipro.ru
*/

import "../../../../Utils/expect.dart";

class A<X> {}
typedef G<X extends A<X>, Y extends X> = X Function(X, Y);

test(G source) {
var fsource = toF(source);

F<G<A<dynamic>, Never>> target = fsource;

F<G<A<dynamic>, Null>> target1 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, dynamic>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<dynamic>>> target3 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Never>>> target4 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<Never>>> target6 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Null>>> target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>> target8 = fsource;
// ^^^^^^^
main() {
G? source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<Null>>> target9 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -45,56 +45,19 @@
* @description Checks that instantiate-to-bounds works correctly for [typedef]
* with two related parameters: [typedef G<X extends A<X>, Y extends X> = void
* Function<X1 extends X>(Y)]
* @Issue 41963, 41964
* @Issue 41963, 41964, 44786
* @Issue dart-lang/language#1133
*
* @author iarkh@unipro.ru
*/

class A<X> {}
typedef G<X extends A<X>, Y extends X> = void Function<X1 extends X>(Y);

test(G source) {
void Function<X extends A<dynamic>>(Never) target1 = source;

void Function<X extends A<dynamic>>(A<dynamic>) target2 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>>(A<dynamic>) target3 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>>(A<Never>) target4 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<dynamic>>(A<Never>) target5 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<dynamic>>(dynamic) target6 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<dynamic>>(Null) target7 = source;
// ^^^^^^
main() {
G? source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends dynamic>(Never) target8 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends Never>(Never) target9 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Loading

0 comments on commit 6dc6bca

Please sign in to comment.