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

import "dart:async";

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