'When the function exits with an exception, sets should still be
reflected.'

def test_reflect_exception(self):

    pyfunc = reflect_exception
    cfunc = jit(nopython=True)(pyfunc)
    s = set([1, 2, 3])
    with self.assertRefCount(s):
        with self.assertRaises(ZeroDivisionError):
            cfunc(s)
        self.assertPreciseEqual(s, set([1, 2, 3, 42]))
