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'));
MyFuture f;

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

main() {}
