1--TEST-- 2GH-14009: Traits inherit prototype 3--FILE-- 4<?php 5 6class P { 7 protected function common() { 8 throw new Exception('Unreachable'); 9 } 10} 11 12class A extends P { 13 public function test(P $sibling) { 14 $sibling->common(); 15 } 16} 17 18class B extends P { 19 protected function common() { 20 echo __METHOD__, "\n"; 21 } 22} 23 24trait T { 25 protected function common() { 26 echo __METHOD__, "\n"; 27 } 28} 29 30class C extends P { 31 use T; 32} 33 34$a = new A(); 35$a->test(new B()); 36$a->test(new C()); 37 38?> 39--EXPECT-- 40B::common 41T::common 42