1--TEST--
2Empty foreach loops with exception must not leak
3--FILE--
4<?php
5
6class Foo implements IteratorAggregate {
7    public function getIterator(): Traversable {
8        return new ArrayIterator([]);
9    }
10    public function __destruct() {
11        throw new Exception;
12    }
13}
14
15try {
16    foreach (new Foo as $x);
17} catch (Exception $e) {
18    echo "Exception caught\n";
19}
20
21?>
22--EXPECT--
23Exception caught
24