1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
--TEST--
056: type-hint compatibility in namespaces
--FILE--
<?php
namespace test\ns1;
use \SplObserver;
class Foo implements SplObserver {
function update(\SplSubject $x): void {
echo "ok\n";
}
}
class Bar implements \SplSubject {
function attach(SplObserver $x): void {
echo "ok\n";
}
function notify(): void {
}
function detach(SplObserver $x): void {
}
}
$foo = new Foo();
$bar = new Bar();
$bar->attach($foo);
$foo->update($bar);
?>
--EXPECT--
ok
ok
|