class Tearoffable {
  void call() {}
}

error<
        XnonNull extends Object,
        YnonNull extends XnonNull,
        XpotentiallyNull extends Object?,
        YpotentiallyNull extends XpotentiallyNull>(
    Object objectArg,
    Object? objectNullableArg,
    num numArg,
    num? numNullableArg,
    int intArg,
    int? intNullableArg,
    double doubleArg,
    double? doubleNullableArg,
    Function functionArg,
    Function? functionNullableArg,
    void Function() toVoidArg,
    void Function()? toVoidNullableArg,
    Tearoffable tearoffableArg,
    Tearoffable? tearoffableNullableArg,
    XnonNull xNonNullArg,
    XnonNull? xNonNullNullableArg,
    XpotentiallyNull xPotentiallyNullArg,
    XpotentiallyNull? xPotentiallyNullNullableArg,
    YnonNull yNonNullArg,
    YnonNull? yNonNullNullableArg,
    YpotentiallyNull yPotentiallyNullArg,
    YpotentiallyNull? yPotentiallyNullNullableArg) {}
main() {}
ok<
        XnonNull extends Object,
        YnonNull extends XnonNull,
        XpotentiallyNull extends Object?,
        YpotentiallyNull extends XpotentiallyNull>(
    dynamic dynamicArg,
    Object objectArg,
    num numArg,
    int intArg,
    double doubleArg,
    Function functionArg,
    void Function() toVoidArg,
    Tearoffable tearoffableArg,
    XnonNull xNonNullArg,
    XpotentiallyNull xPotentiallyNullArg,
    YnonNull yNonNullArg,
    YpotentiallyNull yPotentiallyNullArg) {}
