summaryrefslogtreecommitdiff
path: root/Zend/tests/magic_methods_inheritance_rules_non_trivial_02.phpt
blob: 2835b468309525ae141ec5e0aa37867f80c74a19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--TEST--
Magic Methods inheritance rules on a non-trivial class hierarchy
--FILE--
<?php
class A {
    public function __get(string|array $name): mixed {} // valid
}

class B extends A {
    public function __get(string|array|object $name): int {} // also valid
}

class C extends B {
    public function __get(string|array|object $name): int|float {} // this is invalid
}
?>
--EXPECTF--
Fatal error: Declaration of C::__get(object|array|string $name): int|float must be compatible with B::__get(object|array|string $name): int in %s on line %d