diff --git a/CHANGELOG.md b/CHANGELOG.md index 151d0ac1..befaf3c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,8 @@ Please also have a look at our ### Fixed +- Avoid double autoloading of class aliases (#1552) + ### Documentation ## 9.2.0: New features and deprecations diff --git a/src/Rule/Rule.php b/src/Rule/Rule.php index bed19cf2..ee97121d 100644 --- a/src/Rule/Rule.php +++ b/src/Rule/Rule.php @@ -8,7 +8,10 @@ use function Safe\class_alias; -/** - * @deprecated in v9.2, will be removed in v10.0. Use `Property\Declaration` instead, which is a direct replacement. - */ -class_alias(Declaration::class, Rule::class); +if (!\class_exists(Rule::class, false) && !\interface_exists(Rule::class, false)) { + /** + * @deprecated in v9.2, will be removed in v10.0. Use `Property\Declaration` instead, which is a direct + * replacement. + */ + class_alias(Declaration::class, Rule::class); +} diff --git a/src/RuleSet/RuleContainer.php b/src/RuleSet/RuleContainer.php index daaf1309..fa82b492 100644 --- a/src/RuleSet/RuleContainer.php +++ b/src/RuleSet/RuleContainer.php @@ -6,7 +6,9 @@ use function Safe\class_alias; -/** - * @deprecated in v9.2, will be removed in v10.0. Use `DeclarationList` instead, which is a direct replacement. - */ -class_alias(DeclarationList::class, RuleContainer::class); +if (!\class_exists(RuleContainer::class, false) && !\interface_exists(RuleContainer::class, false)) { + /** + * @deprecated in v9.2, will be removed in v10.0. Use `DeclarationList` instead, which is a direct replacement. + */ + class_alias(DeclarationList::class, RuleContainer::class); +}