1--TEST--
2Test that a mixed return type can be overridden by any single (and nullable) type except void
3--FILE--
4<?php
5
6class Foo
7{
8    public function method(): mixed {}
9}
10
11class Bar1 extends Foo
12{
13    public function method(): bool {}
14}
15
16class Bar2 extends Foo
17{
18    public function method(): int {}
19}
20
21class Bar3 extends Foo
22{
23    public function method(): float {}
24}
25
26class Bar4 extends Foo
27{
28    public function method(): string {}
29}
30
31class Bar5 extends Foo
32{
33    public function method(): array {}
34}
35
36class Bar6 extends Foo
37{
38    public function method(): object {}
39}
40
41class Bar7 extends Foo
42{
43    public function method(): stdClass {}
44}
45
46class Bar8 extends Foo
47{
48    public function method(): ?int {}
49}
50
51class Bar9 extends Foo
52{
53    public function method(): ?stdClass {}
54}
55
56?>
57--EXPECT--
58