bpo-38761: Register WeakSet as a MutableSet (GH-17104)
This commit is contained in:
parent
af46450bb9
commit
84ac437658
|
@ -2,6 +2,7 @@ import unittest
|
|||
from weakref import WeakSet
|
||||
import string
|
||||
from collections import UserString as ustr
|
||||
from collections.abc import Set, MutableSet
|
||||
import gc
|
||||
import contextlib
|
||||
|
||||
|
@ -437,6 +438,10 @@ class TestWeakSet(unittest.TestCase):
|
|||
def test_repr(self):
|
||||
assert repr(self.s) == repr(self.s.data)
|
||||
|
||||
def test_abc(self):
|
||||
self.assertIsInstance(self.s, Set)
|
||||
self.assertIsInstance(self.s, MutableSet)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
@ -33,6 +33,9 @@ __all__ = ["ref", "proxy", "getweakrefcount", "getweakrefs",
|
|||
"WeakSet", "WeakMethod", "finalize"]
|
||||
|
||||
|
||||
_collections_abc.Set.register(WeakSet)
|
||||
_collections_abc.MutableSet.register(WeakSet)
|
||||
|
||||
class WeakMethod(ref):
|
||||
"""
|
||||
A custom `weakref.ref` subclass which simulates a weak reference to
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
WeakSet is now registered as a collections.abc.MutableSet.
|
Loading…
Reference in New Issue