1--TEST-- 2extract() into typed references must respect their type 3--FILE-- 4<?php 5 6class Test { 7 public int $i = 0; 8 public string $s = ""; 9} 10 11$test = new Test; 12$i =& $test->i; 13$s =& $test->s; 14try { 15 extract(['i' => 'foo', 's' => 42]); 16} catch (TypeError $e) { echo $e->getMessage(), "\n"; } 17var_dump($test->i, $test->s); 18 19?> 20--EXPECT-- 21Cannot assign string to reference held by property Test::$i of type int 22int(0) 23string(0) "" 24