1--TEST--
2Commutative intersection types
3--FILE--
4<?php
5
6interface A {}
7interface B {}
8interface X {}
9
10class Foo {
11    public X|(A&B) $prop;
12    public function foo(X|(A&B) $v): X|(A&B) {}
13}
14
15class FooChild extends Foo {
16    public (B&A)|X $prop;
17    public function foo((B&A)|X $v): (B&A)|X {}
18}
19
20?>
21===DONE===
22--EXPECT--
23===DONE===
24