summaryrefslogtreecommitdiff
path: root/Zend/tests/magic_methods_inheritance_rules_non_trivial_01.phpt
blob: a57c8b7dc8e1d33e84ca9ce3566e9eb98b523071 (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 $name): int {} // this is invalid
}
?>
--EXPECTF--
Fatal error: Declaration of C::__get(array|string $name): int must be compatible with B::__get(object|array|string $name): int in %s on line %d