php-src/Zend/tests/enum/weak-map.phpt
Nikita Popov bd3e536383 Fixed bug #81514
Objects reuse the GC_PERSISTENT flag as IS_OBJ_WEAKLY_REFERENCED,
which we did not account for in ZVAL_COPY_OR_DUP. To make things
worse the incorrect zval_copy_ctor_func() invocation silently did
nothing. To avoid that, add an assertion that it should only be
called with arrays and strings (unlike the normal zval_copy_ctor()
which can be safely called on any zval).
2021-10-08 10:31:24 +02:00

18 lines
249 B
PHP

--TEST--
Use enum as WeakMap key
--FILE--
<?php
enum TestEnum {
case A;
}
$map = new WeakMap();
$map[TestEnum::A] = 'a string';
var_dump($map[TestEnum::A]);
var_dump($map[TestEnum::A]);
?>
--EXPECT--
string(8) "a string"
string(8) "a string"