This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Nils Kattenbeck
Recipients Nils Kattenbeck, gvanrossum, levkivskyi
Date 2019-11-10.00:20:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1573345251.28.0.161181541738.issue38756@roundup.psfhosted.org>
In-reply-to
Content
A possible use case would be having multiple users and some groups said users can belong to. When using a WeakSet a user won't be part of a groups after he deleted his account without having to iterate over all groups.

class User: pass

class Group:
  users: WeakSet[User]

  def __init__(self, users: Iterable[User]):
    self.users = WeakSet(users)

# somewhere else a collection of all active users


Types I would like to see added as a generic would be primarily:
- WeakKeyDictionary
- WeakValueDictionary
- WeakSet

Additionally it would be nice to have generic versions of:
- ref (would probably return Optional[T] on call?)
- WeakMethod
- ProxyType
- CallableProxyType

Although the last two could probably be just annotated using T because they mostly should behave the same...
History
Date User Action Args
2019-11-10 00:20:51Nils Kattenbecksetrecipients: + Nils Kattenbeck, gvanrossum, levkivskyi
2019-11-10 00:20:51Nils Kattenbecksetmessageid: <1573345251.28.0.161181541738.issue38756@roundup.psfhosted.org>
2019-11-10 00:20:51Nils Kattenbecklinkissue38756 messages
2019-11-10 00:20:50Nils Kattenbeckcreate