--TEST-- Testing 'self', 'parent' as type-hint --FILE-- testFoo(new foo); $foo->testBar(new bar); $foo->testBaz(new baz); $foo->testFoo(new stdClass); // Recoverable fatal error ?> --EXPECTF-- object(foo)#%d (0) { } object(bar)#%d (0) { } object(baz)#%d (0) { } Fatal error: Uncaught TypeError: foo::testFoo(): Argument #1 ($obj) must be of type foo, stdClass given, called in %s:%d Stack trace: #0 %s(%d): foo->testFoo(Object(stdClass)) #1 {main} thrown in %s on line %d