bug55424.phpt 610 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. Bug #55424 (Method got missing from class when a trait defined an abstract method to express a requirement)
  3. --FILE--
  4. <?php
  5. trait ATrait
  6. {
  7. function setRequired()
  8. {
  9. $this->setAttribute();
  10. }
  11. abstract function setAttribute();
  12. }
  13. class Base
  14. {
  15. function setAttribute() { }
  16. }
  17. class MyClass extends Base
  18. {
  19. use ATrait;
  20. }
  21. $i = new Base();
  22. $i->setAttribute();
  23. $t = new MyClass();
  24. /* setAttribute used to disappear for no good reason. */
  25. $t->setRequired();
  26. echo 'DONE';
  27. ?>
  28. --EXPECT--
  29. DONE