gh9407.phpt 499 B

123456789101112131415161718192021222324
  1. --TEST--
  2. GH-9407: LSP error in eval'd code refers to wrong class for static type
  3. --FILE--
  4. <?php
  5. class A {
  6. public function duplicate(): static {}
  7. }
  8. class C {
  9. public static function generate() {
  10. eval(<<<PHP
  11. class B extends A {
  12. public function duplicate(): A {}
  13. }
  14. PHP);
  15. }
  16. }
  17. C::generate();
  18. ?>
  19. --EXPECTF--
  20. Fatal error: Declaration of B::duplicate(): A must be compatible with A::duplicate(): static in %s : eval()'d code on line %d