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

import "dart:async";

static field FutureOr<core::int*>* futureOrInt;
static field () →* FutureOr<core::int*>* f;
static field () →* asy::Future<core::int*>* g;
static method main() → dynamic
  ;
