diff --git a/tests/PHPStan/Rules/Methods/ReturnTypeRuleTest.php b/tests/PHPStan/Rules/Methods/ReturnTypeRuleTest.php index 5da8bfa7b0..6d813ea0bf 100644 --- a/tests/PHPStan/Rules/Methods/ReturnTypeRuleTest.php +++ b/tests/PHPStan/Rules/Methods/ReturnTypeRuleTest.php @@ -1259,4 +1259,10 @@ public function testBug12928(): void ]); } + #[RequiresPhp('>= 8.0')] + public function testBug7225(): void + { + $this->analyse([__DIR__ . '/data/bug-7225.php'], []); + } + } diff --git a/tests/PHPStan/Rules/Methods/data/bug-7225.php b/tests/PHPStan/Rules/Methods/data/bug-7225.php new file mode 100644 index 0000000000..4de9017ff9 --- /dev/null +++ b/tests/PHPStan/Rules/Methods/data/bug-7225.php @@ -0,0 +1,18 @@ += 8.0 + +namespace Bug7225; + +use DateTimeImmutable; + +class CustomDateTimeImmutable extends DateTimeImmutable +{ + public function test(): self + { + return CustomDateTimeImmutable::createFromInterface(new DateTime()); + } + + public function fromFormat(): CustomDateTimeImmutable|false + { + return CustomDateTimeImmutable::createFromFormat('H:i:s', '00:00:00'); + } +}