mirror of
https://github.com/python/cpython.git
synced 2026-06-04 16:50:51 +00:00
gh-146406: add clear() cross-language hint for immutable types (GH-149927)
This commit is contained in:
parent
9dcf94e906
commit
d948eaa366
3 changed files with 10 additions and 0 deletions
|
|
@ -4637,6 +4637,9 @@ def test_cross_language_mutable_on_immutable(self):
|
|||
(frozenset, 'remove', "Did you mean to use a 'set' object?"),
|
||||
(frozenset, 'update', "Did you mean to use a 'set' object?"),
|
||||
(frozendict, 'update', "Did you mean to use a 'dict' object?"),
|
||||
(tuple, 'clear', "Did you mean to use a 'list' object?"),
|
||||
(frozenset, 'clear', "Did you mean to use a 'set' object?"),
|
||||
(frozendict, 'clear', "Did you mean to use a 'dict' object?"),
|
||||
]
|
||||
for test_type, attr, expected in cases:
|
||||
with self.subTest(type=test_type.__name__, attr=attr):
|
||||
|
|
|
|||
|
|
@ -1775,6 +1775,10 @@ def print(self, *, file=None, chain=True, **kwargs):
|
|||
# frozendict -- mutable method on immutable type (user expected a dict)
|
||||
"update": ((frozenset, "Did you mean to use a 'set' object?", True),
|
||||
(frozendict, "Did you mean to use a 'dict' object?", True)),
|
||||
# clear() -- shared across immutable container types (user expected the mutable counterpart)
|
||||
"clear": ((tuple, "Did you mean to use a 'list' object?", True),
|
||||
(frozenset, "Did you mean to use a 'set' object?", True),
|
||||
(frozendict, "Did you mean to use a 'dict' object?", True)),
|
||||
# float -- bitwise operators belong to int
|
||||
"__or__": ((float, "Did you mean to use an 'int' object? Bitwise operators are not supported by 'float'.", True),),
|
||||
"__and__": ((float, "Did you mean to use an 'int' object? Bitwise operators are not supported by 'float'.", True),),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
Add cross-language hints for ``.clear()`` on :class:`tuple`,
|
||||
:class:`frozenset`, and :class:`frozendict`, suggesting the mutable
|
||||
counterpart. Follow-up to :gh:`146406`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue