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

static field asy::Future<core::int> futureInt = null;
static field () → asy::Future<core::int> f = () → asy::Future<core::int> => self::futureInt;
static field () → asy::Future<core::int> g = () → asy::Future<core::int> async => self::futureInt;
static method main() → dynamic {
  self::f;
  self::g;
}
