From b94f54cd09926c3f76b60a4a1d7ac2ece98a446f Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 20 Feb 2026 23:20:52 +0700 Subject: [PATCH 1/2] [DeadCode] Skip different default param not typed on RemoveParentDelegatingConstructorRector --- .../skip_different_default_param_not_typed.php.inc | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector/Fixture/skip_different_default_param_not_typed.php.inc diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector/Fixture/skip_different_default_param_not_typed.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector/Fixture/skip_different_default_param_not_typed.php.inc new file mode 100644 index 00000000000..8b8f134cf63 --- /dev/null +++ b/rules-tests/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector/Fixture/skip_different_default_param_not_typed.php.inc @@ -0,0 +1,13 @@ + Date: Fri, 20 Feb 2026 23:21:29 +0700 Subject: [PATCH 2/2] Fix --- .../ClassMethod/RemoveParentDelegatingConstructorRector.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php b/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php index df2b4566727..c76d474b9f8 100644 --- a/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php +++ b/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php @@ -232,6 +232,10 @@ private function areConstructorAndParentParameterTypesMatching( // no type override if ($parameterType === null) { + if ($param->default instanceof Expr && $this->isDifferentDefaultValue($param->default, $extendedMethodReflection, $position)) { + return false; + } + continue; }