Bug Report
| Subject |
Details |
| Rector version |
last dev-main |
| Installed as |
composer dependency |
Minimal PHP Code Causing Issue
See https://getrector.com/demo/e997b6f2-3398-44a6-a278-b7f04b034705
<?php
class A {}
class B extends A
{
public function __construct(
private string $foo
) {}
public function run()
{
return $this->foo;
}
}
Responsible rules
ReadOnlyPropertyRector
ReadOnlyClassRector
FinalizeClassesWithoutChildrenRector
Result from Rector
- class B extends A
+ final readonly class B extends A
Expected Behavior
Class B shouldn't be readonly because PHP throws a "Fatal error: Readonly class B cannot extend non-readonly class A".
Bug Report
Minimal PHP Code Causing Issue
See https://getrector.com/demo/e997b6f2-3398-44a6-a278-b7f04b034705
Responsible rules
ReadOnlyPropertyRectorReadOnlyClassRectorFinalizeClassesWithoutChildrenRectorResult from Rector
Expected Behavior
Class B shouldn't be
readonlybecause PHP throws a "Fatal error: Readonly class B cannot extend non-readonly class A".