-
Notifications
You must be signed in to change notification settings - Fork 24.2k
[Set] Raise TypeError
if argument is unhashable
#152988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Set] Raise TypeError
if argument is unhashable
#152988
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/152988
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 3da5a81 with merge base 064f4c1 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
@@ -127,7 +137,7 @@ def __init__(self, vt) -> None: | |||
# TODO Temorarily remove to figure out what keys are we breaking on | |||
# and add proper support for them | |||
if not is_hashable(vt): | |||
unimplemented(f"Dict key of type {type(vt)}. Key: {vt}") | |||
raise_unhashable(vt) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes more sense to keep the code as it is (raise unimplemented
). But this gives a chance for Dynamo to capture and handle an exception when one tries to add an unhashable object to a set. If Dynamo doesn't capture, the exception is propagated to CPython.
Starting merge as part of PR stack under #152990 |
Starting merge as part of PR stack under #152990 |
1 similar comment
Starting merge as part of PR stack under #152990 |
Starting merge as part of PR stack under #152908 |
Starting merge as part of PR stack under #152990 |
Pull Request resolved: #152904 Approved by: https://github.com/anijain2305 ghstack dependencies: #150792, #152987, #152988
Stack from ghstack (oldest at bottom):
set.pop()
#152907set.union
andset.update
to support *args #152989set.intersection(_update)
#152906set.difference(_update)
#152905KeyError
if elem not contained in the set #152903set.issubset
andset.issuperset
#152902TypeError
if argument is unhashable #152988cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @chenyang78 @kadeng @chauhang @amjames