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

static method main() → dynamic {
  () → (core::int) → core::double f = () → (core::int) → core::double {
    return (core::int x) → core::double {
      return 2.0.{core::double::*}(x){(core::num) → core::double};
    };
  };
}
