diff --git a/README.md b/README.md
index 3ea70e14e..df7791404 100644
--- a/README.md
+++ b/README.md
@@ -2235,47 +2235,6 @@ rules:
-### NoRequiredOutsideClassRule
-
-Symfony #[Require]/@required should be used only in classes to avoid misuse
-
-```yaml
-rules:
- - Symplify\PHPStanRules\Rules\Symfony\NoRequiredOutsideClassRule
-```
-
-```php
-use Symfony\Component\DependencyInjection\Attribute\Required;
-
-trait SomeTrait
-{
- #[Required]
- public function autowireSomeTrait(SomeService $someService)
- {
- // ...
- }
-}
-```
-
-:x:
-
-
-
-```php
-abstract class SomeClass
-{
- #[Required]
- public function autowireSomeClass(SomeService $someService)
- {
- // ...
- }
-}
-```
-
-:+1:
-
-
-
### SingleArgEventDispatchRule
The event dispatch() method can have only 1 arg - the event object
diff --git a/config/symfony-rules.neon b/config/symfony-rules.neon
index ae40eb476..6cc7befc4 100644
--- a/config/symfony-rules.neon
+++ b/config/symfony-rules.neon
@@ -1,5 +1,4 @@
rules:
- - Symplify\PHPStanRules\Rules\Symfony\NoRequiredOutsideClassRule
- Symplify\PHPStanRules\Rules\Symfony\SingleArgEventDispatchRule
- Symplify\PHPStanRules\Rules\Symfony\NoListenerWithoutContractRule
- Symplify\PHPStanRules\Rules\Symfony\NoStringInGetSubscribedEventsRule
diff --git a/src/Enum/RuleIdentifier/SymfonyRuleIdentifier.php b/src/Enum/RuleIdentifier/SymfonyRuleIdentifier.php
index ed1c20b62..90d39e98d 100644
--- a/src/Enum/RuleIdentifier/SymfonyRuleIdentifier.php
+++ b/src/Enum/RuleIdentifier/SymfonyRuleIdentifier.php
@@ -16,8 +16,6 @@ final class SymfonyRuleIdentifier
public const string NO_LISTENER_WITHOUT_CONTRACT = 'symfony.noListenerWithoutContract';
- public const string SYMFONY_NO_REQUIRED_OUTSIDE_CLASS = 'symfony.noRequiredOutsideClass';
-
public const string NO_STRING_IN_GET_SUBSCRIBED_EVENTS = 'symfony.noStringInGetSubscribedEvents';
public const string SINGLE_REQUIRED_METHOD = 'symfony.singleRequiredMethod';
diff --git a/src/Rules/Symfony/NoRequiredOutsideClassRule.php b/src/Rules/Symfony/NoRequiredOutsideClassRule.php
deleted file mode 100644
index 04422a012..000000000
--- a/src/Rules/Symfony/NoRequiredOutsideClassRule.php
+++ /dev/null
@@ -1,49 +0,0 @@
-
- */
-final class NoRequiredOutsideClassRule implements Rule
-{
- public const string ERROR_MESSAGE = 'Symfony #[Require]/@required should be used only in classes to avoid misuse';
-
- public function getNodeType(): string
- {
- return Trait_::class;
- }
-
- /**
- * @param Trait_ $node
- */
- public function processNode(Node $node, Scope $scope): array
- {
- $ruleErrors = [];
-
- foreach ($node->getMethods() as $classMethod) {
- if (! SymfonyRequiredMethodAnalyzer::detect($classMethod)) {
- continue;
- }
-
- $ruleErrors[] = RuleErrorBuilder::message(self::ERROR_MESSAGE)
- ->identifier(SymfonyRuleIdentifier::SYMFONY_NO_REQUIRED_OUTSIDE_CLASS)
- ->line($classMethod->getLine())
- ->build();
- }
-
- return $ruleErrors;
- }
-}
diff --git a/tests/Rules/Symfony/NoRequiredOutsideClassRule/Fixture/SomeClassUsingTrait.php b/tests/Rules/Symfony/NoRequiredOutsideClassRule/Fixture/SomeClassUsingTrait.php
deleted file mode 100644
index 5926b2336..000000000
--- a/tests/Rules/Symfony/NoRequiredOutsideClassRule/Fixture/SomeClassUsingTrait.php
+++ /dev/null
@@ -1,9 +0,0 @@
-> $expectedErrorsWithLines
- */
- #[DataProvider('provideData')]
- public function testRule(array $filePaths, array $expectedErrorsWithLines): void
- {
- $this->analyse($filePaths, $expectedErrorsWithLines);
- }
-
- /**
- * @return Iterator>, mixed>>
- */
- public static function provideData(): Iterator
- {
- yield [[
- __DIR__ . '/Fixture/SomeClassUsingTrait.php',
- __DIR__ . '/Fixture/TraitWithRequireAttribute.php',
- __DIR__ . '/Fixture/TraitWithRequire.php',
- ], [[NoRequiredOutsideClassRule::ERROR_MESSAGE, 9], [NoRequiredOutsideClassRule::ERROR_MESSAGE, 10]]];
- }
-
- protected function getRule(): Rule
- {
- return new NoRequiredOutsideClassRule();
- }
-}