diff --git a/rules-tests/CodingStyle/Rector/ArrowFunction/ArrowFunctionDelegatingCallToFirstClassCallableRector/Fixture/skip_zero_arity_optional_param_on_callee.php.inc b/rules-tests/CodingStyle/Rector/ArrowFunction/ArrowFunctionDelegatingCallToFirstClassCallableRector/Fixture/skip_zero_arity_optional_param_on_callee.php.inc new file mode 100644 index 00000000000..5ea6ad6c332 --- /dev/null +++ b/rules-tests/CodingStyle/Rector/ArrowFunction/ArrowFunctionDelegatingCallToFirstClassCallableRector/Fixture/skip_zero_arity_optional_param_on_callee.php.inc @@ -0,0 +1,18 @@ +apply($callback ?? fn () => FooBar::optionalArgs()); + } + + private function apply(callable $callback) + { + return $callback('not optional-args input'); + } +} diff --git a/rules/CodingStyle/Guard/ArrowFunctionAndClosureFirstClassCallableGuard.php b/rules/CodingStyle/Guard/ArrowFunctionAndClosureFirstClassCallableGuard.php index 9cea1b90e14..6c58fc97f4a 100644 --- a/rules/CodingStyle/Guard/ArrowFunctionAndClosureFirstClassCallableGuard.php +++ b/rules/CodingStyle/Guard/ArrowFunctionAndClosureFirstClassCallableGuard.php @@ -117,7 +117,7 @@ public function shouldSkip( return false; } - return count($parameters) > 1; + return count($parameters) !== count($args); } private function isBuiltinReflection(FunctionReflection|MethodReflection $reflection): bool