aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/contextlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/contextlib.py')
-rw-r--r--Lib/contextlib.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/Lib/contextlib.py b/Lib/contextlib.py
index 30d9ac25b2b..b5acbcb9e6d 100644
--- a/Lib/contextlib.py
+++ b/Lib/contextlib.py
@@ -441,7 +441,16 @@ class suppress(AbstractContextManager):
# exactly reproduce the limitations of the CPython interpreter.
#
# See http://bugs.python.org/issue12029 for more details
- return exctype is not None and issubclass(exctype, self._exceptions)
+ if exctype is None:
+ return
+ if issubclass(exctype, self._exceptions):
+ return True
+ if issubclass(exctype, ExceptionGroup):
+ match, rest = excinst.split(self._exceptions)
+ if rest is None:
+ return True
+ raise rest
+ return False
class _BaseExitStack: