1--TEST-- 2Various inheritance scenarios for properties/methods with union types 3--FILE-- 4<?php 5 6class X { 7 public A|B|int $prop; 8 public function method(A|B|int $arg): A|B|int { } 9 10 private A|B|int $prop2; 11 private function method2(A|B|int $arg): A|B|int { } 12} 13 14class Y extends X { 15} 16 17trait T { 18 public A|B|int $prop; 19 public function method(A|B|int $arg): A|B|int { } 20 21 private A|B|int $prop2; 22 private function method2(A|B|int $arg): A|B|int { } 23} 24 25class Z { 26 use T; 27} 28 29class U extends X { 30 use T; 31} 32 33class V extends X { 34 use T; 35 36 public A|B|int $prop; 37 public function method(A|B|int $arg): A|B|int { } 38 39 private A|B|int $prop2; 40 private function method2(A|B|int $arg): A|B|int { } 41} 42 43?> 44===DONE=== 45--EXPECT-- 46===DONE=== 47