New submission from Malthe Borch <mbo...@gmail.com>:
When a key that is equal to an existing key (but not the same object identity) is used to set a new value, the key itself is not replaced. This manifests perhaps most clearly in `weakref.WeakKeyDictionary` where keys can mysteriously disappear. Consider two equal keys, k1 and k2: d = WeakKeyDictionary() d[k1] = 1 d[k2] = 2 del k1 We would expect the dictionary to have a single entry k2 => 2. But in fact it is empty now. ---------- components: Library (Lib) messages: 414554 nosy: malthe priority: normal pull_requests: 29811 severity: normal status: open title: Replace key if not identical to old key in dict type: behavior _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue46925> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com