1--TEST--
2Added element of intersection type
3--FILE--
4<?php
5
6interface X {}
7interface Y {}
8interface Z {}
9
10class A implements X, Y, Z {}
11
12class Collection {
13    public X&Y $intersect;
14}
15
16function foo(): X&Y {
17    return new A();
18}
19
20function bar(X&Y $o): void {
21    var_dump($o);
22}
23
24$o = foo();
25var_dump($o);
26
27$c = new Collection();
28$a = new A();
29
30$c->intersect = $a;
31echo 'OK', \PHP_EOL;
32bar($a);
33?>
34--EXPECT--
35object(A)#1 (0) {
36}
37OK
38object(A)#3 (0) {
39}
40