Skip to content

Commit ec418af

Browse files
committed
chore: add min PHP version to NarrowTooWideReturnTypeRector
1 parent 384dc2a commit ec418af

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

rules-tests/DeadCode/Rector/FunctionLike/NarrowTooWideReturnTypeRector/config/configured_rule.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
use Rector\Config\RectorConfig;
66
use Rector\DeadCode\Rector\FunctionLike\NarrowTooWideReturnTypeRector;
7+
use Rector\ValueObject\PhpVersionFeature;
78

8-
return RectorConfig::configure()
9-
->withRules([NarrowTooWideReturnTypeRector::class]);
9+
return static function (RectorConfig $rectorConfig): void {
10+
$rectorConfig->rule(NarrowTooWideReturnTypeRector::class);
11+
$rectorConfig->phpVersion(PhpVersionFeature::NEVER_TYPE);
12+
};

rules/DeadCode/Rector/FunctionLike/NarrowTooWideReturnTypeRector.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,22 @@
3131
use Rector\Reflection\ReflectionResolver;
3232
use Rector\StaticTypeMapper\StaticTypeMapper;
3333
use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver;
34+
use Rector\ValueObject\PhpVersionFeature;
35+
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
3436
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
3537
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
3638

3739
/**
3840
* @see \Rector\Tests\DeadCode\Rector\FunctionLike\NarrowTooWideReturnTypeRector\NarrowTooWideReturnTypeRectorTest
3941
*/
40-
final class NarrowTooWideReturnTypeRector extends AbstractRector
42+
final class NarrowTooWideReturnTypeRector extends AbstractRector implements MinPhpVersionInterface
4143
{
4244
public function __construct(
4345
private readonly BetterNodeFinder $betterNodeFinder,
4446
private readonly StaticTypeMapper $staticTypeMapper,
4547
private readonly ReflectionResolver $reflectionResolver,
4648
private readonly SilentVoidResolver $silentVoidResolver,
49+
private readonly PhpVersionProvider $phpVersionProvider,
4750
) {
4851
}
4952

@@ -85,6 +88,11 @@ public function foo(): string|int
8588
);
8689
}
8790

91+
public function provideMinPhpVersion(): int
92+
{
93+
return PhpVersionFeature::UNION_TYPES;
94+
}
95+
8896
/**
8997
* @return array<class-string<Node>>
9098
*/

0 commit comments

Comments
 (0)