1--TEST-- 2Typed property assignment must not overwrite constants 3--FILE-- 4<?php 5 6class Foo { 7 public float $x = 0.0; 8}; 9 10$x = new Foo; 11$y =& $x->x; 12$y = 4; 13var_dump($x, 4); /* Optimizer will merge both "4" constants, making it immediately visible */ 14 15?> 16--EXPECT-- 17object(Foo)#1 (1) { 18 ["x"]=> 19 &float(4) 20} 21int(4) 22