File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
Zend/tests/type_declarations/intersection_types/variance Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Replacing union of classes respecting intersection type by intersection type
3
+ --FILE--
4
+ <?php
5
+
6
+ interface X {}
7
+ interface Y {}
8
+
9
+ class TestOne implements X, Y {}
10
+ class TestTwo implements X, Y {}
11
+
12
+ interface A
13
+ {
14
+ public function foo (TestOne |TestTwo $ param ): X &Y ;
15
+ }
16
+
17
+ interface B extends A
18
+ {
19
+ public function foo (X &Y $ param ): TestOne |TestTwo ;
20
+ }
21
+
22
+ interface C extends A
23
+ {
24
+ public function foo (X $ param ): TestTwo ;
25
+ }
26
+
27
+ interface D extends A
28
+ {
29
+ public function foo (Y $ param ): TestOne ;
30
+ }
31
+
32
+ interface E extends B
33
+ {
34
+ public function foo (X $ param ): TestTwo ;
35
+ }
36
+
37
+ interface F extends B
38
+ {
39
+ public function foo (Y $ param ): TestOne ;
40
+ }
41
+
42
+ ?>
43
+ ===DONE===
44
+ --EXPECT--
45
+ ===DONE===
You can’t perform that action at this time.
0 commit comments