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

import "dart:async";

static method main() → dynamic {
  asy::Future<core::int> futureInt = null;
  asy::Future<core::int> x = futureInt;
}
