--TEST-- Assigning values to intersection types --FILE-- prop = $tp; } catch (TypeError $e) { echo $e->getMessage(), \PHP_EOL; } $o->prop = $tc; $r = $o->method1($tp); var_dump($r); $r = $o->method2($tp); var_dump($r); $r = $o->method1($tc); var_dump($r); $r = $o->method2($tc); var_dump($r); ?> --EXPECTF-- Cannot assign TestParent to property A::$prop of type X&Y&Z object(TestChild)#%d (0) { } object(TestParent)#%d (0) { } object(TestChild)#%d (0) { } object(TestParent)#%d (0) { }