| 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) {} |