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

import "dart:async";

static method main() → dynamic async /* futureValueType= dynamic */ {
  () →* asy::Future<Null>* f = () → asy::Future<Null>* async /* futureValueType= Null */ {
    return null;
  };
  asy::Future<dynamic>* y = f(){() →* asy::Future<Null>*};
  asy::Future<core::String*>* z = f(){() →* asy::Future<Null>*};
  core::String* s = await f(){() →* asy::Future<Null>*};
}
