library test;

import 'dart:async';

Future<List<int>> g2() async {}
Future<List<int>> g3() async {}
Future<List<int>> t2 = f.then((_) => [3]);
Future<int> t1 = f.then((_) => new Future.value('hi'));
Future f = throw '';

class MyFuture<T> implements Future<T> {
  MyFuture() {}
  MyFuture.value([x]) {}
  MyFuture<S> then<S>(FutureOr<S> f(T x), {Function? onError}) => throw '';
  dynamic noSuchMethod(invocation) => null;
}

main() {}
