library test;
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() → dynamic {
  asy::Future<core::int*>* f;
  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
}
