(self)
| 302 | return self.__class__(self) |
| 303 | |
| 304 | def pop(self): |
| 305 | if self._pending_removals: |
| 306 | self._commit_removals() |
| 307 | while True: |
| 308 | try: |
| 309 | itemref = self.data.pop() |
| 310 | except KeyError: |
| 311 | raise KeyError('pop from empty WeakSet') |
| 312 | item = itemref() |
| 313 | if item is not None: |
| 314 | return item |
| 315 | |
| 316 | def remove(self, item): |
| 317 | if self._pending_removals: |