1--TEST--
2Forward compatibility with types that look like classes but aren't
3--FILE--
4<?php
5
6spl_autoload_register(function($class) {
7    var_dump($class);
8    if ($class === 'X') {
9        class X {}
10    } else {
11        class Y {}
12    }
13});
14
15class A {
16    public function method(X $param) : object {}
17}
18
19class B extends A {
20    public function method(object $param) : Y {}
21}
22
23?>
24--EXPECT--
25string(1) "X"
26string(1) "Y"
27