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

import "dart:async";

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