Skip to content

Commit 627b521

Browse files
committed
chore: add min PHP version to NarrowTooWideReturnTypeRector
1 parent ff3cd2a commit 627b521

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

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
@@ -32,19 +32,22 @@
3232
use Rector\Reflection\ReflectionResolver;
3333
use Rector\StaticTypeMapper\StaticTypeMapper;
3434
use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver;
35+
use Rector\ValueObject\PhpVersionFeature;
36+
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
3537
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
3638
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
3739

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

@@ -86,6 +89,11 @@ public function foo(): string|int
8689
);
8790
}
8891

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

0 commit comments

Comments
 (0)