blob: cf41d0567f17b76d8f1c7c4baf1f6a6046e1b9a2 [file] [log] [blame]
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/future_then_explicit_future.dart:15:99: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'FutureOr<Future<List<int>>>'.
// - 'List' is from 'dart:core'.
// - 'Future' is from 'dart:async'.
// /*@returnType=FutureOr<Future<List<int*>*>*>**/ (/*@type=int**/ x) => /*@typeArgs=dynamic*/ []);
// ^
//
// pkg/front_end/testcases/inference/future_then_explicit_future.dart:16:25: Error: A value of type 'Future<Future<List<int>>>' can't be assigned to a variable of type 'Future<List<int>>'.
// - 'Future' is from 'dart:async'.
// - 'List' is from 'dart:core'.
// Future<List<int>> y = x;
// ^
//
import self as self;
import "dart:async" as asy;
import "dart:core" as core;
import "dart:async";
static method m1() dynamic {
asy::Future<core::int*>* f;
asy::Future<asy::Future<core::List<core::int*>*>*>* x = f.{asy::Future::then}<asy::Future<core::List<core::int*>*>*>((core::int* x) FutureOr<asy::Future<core::List<core::int*>*>*>* => let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_explicit_future.dart:15:99: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'FutureOr<Future<List<int>>>'.
- 'List' is from 'dart:core'.
- 'Future' is from 'dart:async'.
/*@returnType=FutureOr<Future<List<int*>*>*>**/ (/*@type=int**/ x) => /*@typeArgs=dynamic*/ []);
^" in <dynamic>[] as{TypeError} FutureOr<asy::Future<core::List<core::int*>*>*>*);
asy::Future<core::List<core::int*>*>* y = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/inference/future_then_explicit_future.dart:16:25: Error: A value of type 'Future<Future<List<int>>>' can't be assigned to a variable of type 'Future<List<int>>'.
- 'Future' is from 'dart:async'.
- 'List' is from 'dart:core'.
Future<List<int>> y = x;
^" in x as{TypeError} asy::Future<core::List<core::int*>*>*;
}
static method m2() → dynamic {
asy::Future<core::int*>* f;
asy::Future<core::List<core::int*>*>* x = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => <core::int*>[]);
asy::Future<core::List<core::int*>*>* y = x;
}
static method main() → dynamic {}