1--TEST--
2Abstract Trait Methods should behave like common abstract methods and
3implementation may be provided by other traits. Sorting order shouldn't influence result.
4--FILE--
5<?php
6error_reporting(E_ALL);
7
8trait THello {
9  public abstract function hello();
10}
11
12trait THelloImpl {
13  public function hello() {
14    echo 'Hello';
15  }
16}
17
18class TraitsTest1 {
19    use THello;
20    use THelloImpl;
21}
22
23$test = new TraitsTest1();
24$test->hello();
25
26class TraitsTest2 {
27    use THelloImpl;
28    use THello;
29}
30
31$test = new TraitsTest2();
32$test->hello();
33
34?>
35--EXPECT--
36HelloHello
37