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

import "dart:async";

static method add(core::int x) → void {}
static method add2(core::int y) → dynamic {}
static method test(asy::Future<core::int> f) → dynamic {
  asy::Future<void> a = f.{asy::Future::then}<void>(#C1){((core::int) → FutureOr<void>, {onError: core::Function?}) → asy::Future<void>};
  asy::Future<dynamic> b = f.{asy::Future::then}<dynamic>(#C2){((core::int) → FutureOr<dynamic>, {onError: core::Function?}) → asy::Future<dynamic>};
}
static method main() → dynamic {}

constants  {
  #C1 = static-tearoff self::add
  #C2 = static-tearoff self::add2
}
