1--TEST--
2Register Alloction 001: Spilling in "identical" code
3--INI--
4opcache.enable=1
5opcache.enable_cli=1
6opcache.file_update_protection=0
7opcache.jit_buffer_size=1M
8opcache.protect_memory=1
9--EXTENSIONS--
10opcache
11--FILE--
12<?php
13class Caster
14{
15    const EXCLUDE_PUBLIC = 8;
16    const EXCLUDE_PRIVATE = 32;
17    const EXCLUDE_STRICT = 512;
18
19    public static function filter(array $a, $filter): int
20    {
21        foreach ($a as $k => $v) {
22            if (!isset($k[1])) {
23                $type |= self::EXCLUDE_PUBLIC;
24            } else {
25                $type |= self::EXCLUDE_PRIVATE;
26            }
27
28            if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) {
29            }
30        }
31
32        return $a;
33    }
34
35}
36?>
37OK
38--EXPECT--
39OK
40