mirror of
https://github.com/php/php-src.git
synced 2024-10-16 22:12:33 +00:00
1d2a63da5f
#This change is made to have all possible cases of collisions consistently handled as fatal errors. #The reason to have it fatal is that most likely something changed unexpectedly and needs urgent attention by the developer, since it will fail eventually anyway for instance because the expected method is missing in the class. #Discussed in this thread: http://marc.info/?l=php-internals&m=129155790226876
31 lines
530 B
PHP
31 lines
530 B
PHP
--TEST--
|
|
Two methods resulting in a conflict, should be reported both.
|
|
--FILE--
|
|
<?php
|
|
error_reporting(E_ALL);
|
|
|
|
trait A {
|
|
public function smallTalk() {
|
|
echo 'a';
|
|
}
|
|
public function bigTalk() {
|
|
echo 'A';
|
|
}
|
|
}
|
|
|
|
trait B {
|
|
public function smallTalk() {
|
|
echo 'b';
|
|
}
|
|
public function bigTalk() {
|
|
echo 'B';
|
|
}
|
|
}
|
|
|
|
class Talker {
|
|
use A, B;
|
|
}
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Fatal error: Trait method smallTalk has not been applied, because there are collisions with other trait methods on Talker in %s on line %d
|