--TEST-- Live range & free on return --FILE-- foo; } } foreach (new bar as &$foo) { try { $foo = new Exception; return; // frees the loop variable } catch (Exception $e) { echo "exception\n"; } } echo "end\n"; ?> --EXPECTF-- Fatal error: Uncaught Exception in %stemporary_cleaning_009.php:12 Stack trace: #0 {main} thrown in %stemporary_cleaning_009.php on line 12