diff --git a/src/Rules/Generics/TemplateTypeCheck.php b/src/Rules/Generics/TemplateTypeCheck.php index 1ecb035dc2..88846da94a 100644 --- a/src/Rules/Generics/TemplateTypeCheck.php +++ b/src/Rules/Generics/TemplateTypeCheck.php @@ -185,11 +185,13 @@ public function check( $messages[] = $genericDefaultError; } - if ($boundType->accepts($defaultType, $scope->isDeclareStrictTypes())->no()) { - $messages[] = RuleErrorBuilder::message(sprintf($defaultNotSubtypeOfBoundMessage, $defaultType->describe(VerbosityLevel::typeOnly()), $templateTagName, $boundType->describe(VerbosityLevel::typeOnly()))) - ->identifier('generics.templateDefaultOutOfBounds') - ->build(); + if (!$boundType->accepts($defaultType, $scope->isDeclareStrictTypes())->no()) { + continue; } + + $messages[] = RuleErrorBuilder::message(sprintf($defaultNotSubtypeOfBoundMessage, $defaultType->describe(VerbosityLevel::typeOnly()), $templateTagName, $boundType->describe(VerbosityLevel::typeOnly()))) + ->identifier('generics.templateDefaultOutOfBounds') + ->build(); } return $messages;