diff --git a/islpy/__init__.py b/islpy/__init__.py index d89a6e1eacb24f06ea5bac4896fb3eafc91015b1..16832219979bb8ab32a31eacc182b8ad22bffc17 100644 --- a/islpy/__init__.py +++ b/islpy/__init__.py @@ -183,6 +183,11 @@ def _add_functionality(): if context is None: context = DEFAULT_CONTEXT + # Turns out __del__ is called even if the constructor fails with an + # exception. This is creates a semi-valid state that's just good + # enough to get us past the __del__ method. + self.data = None + new_me = self.read_from_str(context, s) self._setup(new_me._release())