From: Yilei Yang Date: Tue, 19 Dec 2023 21:15:52 +0000 (-0800) Subject: Use a copy of `self.contents` in this list comprehension. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed738162e116c5ba13f3ef22f241e860dc9402f9;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Use a copy of `self.contents` in this list comprehension. Fixes #10782. --- diff --git a/lib/sqlalchemy/orm/clsregistry.py b/lib/sqlalchemy/orm/clsregistry.py index 4f4dab895e..b78f4bdeea 100644 --- a/lib/sqlalchemy/orm/clsregistry.py +++ b/lib/sqlalchemy/orm/clsregistry.py @@ -239,10 +239,10 @@ class _MultipleClassMarker(ClsRegistryToken): def add_item(self, item: Type[Any]) -> None: # protect against class registration race condition against # asynchronous garbage collection calling _remove_item, - # [ticket:3208] + # [ticket:3208] and [ticket:10782] modules = { cls.__module__ - for cls in [ref() for ref in self.contents] + for cls in [ref() for ref in self.contents.copy()] if cls is not None } if item.__module__ in modules: