1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
--TEST--
R/w cache slots should be unshared
--FILE--
<?php
class P {
public private(set) string $bar;
}
class C extends P {
public function setBar($bar) {
var_dump($this->bar);
$this->bar = $bar;
}
}
$c = new C();
try {
$c->setBar(1);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
$c->setBar(1);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
var_dump($c);
?>
--EXPECTF--
Typed property P::$bar must not be accessed before initialization
Typed property P::$bar must not be accessed before initialization
object(C)#%d (0) {
["bar"]=>
uninitialized(string)
}
|