library test;
import self as self;
import "dart:async" as asy;
import "dart:core" as core;

import "dart:async";

static method test() → dynamic {
  asy::Future<core::int*>* base;
  asy::Future<core::bool*>* f = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* {
    return x.{core::num::==}(0);
  });
  asy::Future<core::bool*>* g = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* => x.{core::num::==}(0));
  asy::Future<core::bool*>* b = f;
  b = g;
}
static method main() → dynamic {}
