1--TEST-- 2Typed property must cast when used with __get() 3--FILE-- 4<?php 5 6class Test { 7 public int $val; 8 9 public function __get($name) { 10 return "42"; 11 } 12} 13 14$test = new Test; 15unset($test->val); 16var_dump($test); 17var_dump($test->val); 18 19?> 20--EXPECT-- 21object(Test)#1 (0) { 22 ["val"]=> 23 uninitialized(int) 24} 25int(42) 26