#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
}\r
?>\r
--EXPECTF--\r
-Warning: Trait method M1 has not been applied, because there are collisions with other trait methods on MyClass in %s on line %d\r
-\r
-Warning: Trait method M2 has not been applied, because there are collisions with other trait methods on MyClass in %s on line %d
\ No newline at end of file
+Fatal error: Trait method M1 has not been applied, because there are collisions with other trait methods on MyClass in %s on line %d\r
}
?>
--EXPECTF--
-Warning: Trait method hello has not been applied, because there are collisions with other trait methods on TraitsTest in %s on line %d
\ No newline at end of file
+Fatal error: Trait method hello has not been applied, because there are collisions with other trait methods on TraitsTest in %s on line %d
\ No newline at end of file
?>
--EXPECTF--
-Warning: Trait method smallTalk has not been applied, because there are collisions with other trait methods on Talker in %s on line %d
-
-Warning: Trait method bigTalk has not been applied, because there are collisions with other trait methods on Talker in %s on line %d
\ No newline at end of file
+Fatal error: Trait method smallTalk has not been applied, because there are collisions with other trait methods on Talker in %s on line %d
\ No newline at end of file
?>
--EXPECTF--
-Warning: Trait method test has not been applied, because there are collisions with other trait methods on bar in %s on line %d
-
-Fatal error: Call to undefined method bar::test() in %s on line %d
+Fatal error: Trait method test has not been applied, because there are collisions with other trait methods on bar in %s on line %d
?>
--EXPECTF--
-Warning: Trait method test has not been applied, because there are collisions with other trait methods on bar in %s on line %d
-
-Fatal error: Call to undefined method bar::test() in %s on line %d
+Fatal error: Trait method test has not been applied, because there are collisions with other trait methods on bar in %s on line %d
?>
--EXPECTF--
-Warning: Trait method sayWorld has not been applied, because there are collisions with other trait methods on MyClass in %s on line %d
-
-Warning: Trait method sayHello has not been applied, because there are collisions with other trait methods on MyClass in %s on line %d
-
-Fatal error: Call to undefined method MyClass::sayHello() in %s on line %d
\ No newline at end of file
+Fatal error: Trait method sayWorld has not been applied, because there are collisions with other trait methods on MyClass in %s on line %d
?>
--EXPECTF--
-Warning: Trait method __clone has not been applied, because there are collisions with other trait methods on bar in %s on line %d
-object(bar)#%d (0) {
-}
+Fatal error: Trait method __clone has not been applied, because there are collisions with other trait methods on bar in %s on line %d
if (zend_hash_quick_find(&ce->function_table, hash_key->arKey, hash_key->nKeyLength, hash_key->h, (void **)&class_fn) == FAILURE
|| class_fn->common.scope != ce) {
- zend_error(E_WARNING, "Trait method %s has not been applied, because there are collisions with other trait methods on %s", fn->common.function_name, ce->name);
+ zend_error(E_ERROR, "Trait method %s has not been applied, because there are collisions with other trait methods on %s", fn->common.function_name, ce->name);
}
zend_function_dtor(fn);