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

static method id<T extends core::Object>(self::id::T x) → self::id::T
  return x;
static method test() → dynamic async {
  asy::Future<core::String> f;
  core::String s = await self::id<asy::FutureOr<core::String>>(f);
}
static method main() → dynamic {}
