You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support list subclasses and fix dict subclasses mutation bugs (#146819)
Summary:
This PR adds support for list subclasses. Among other things are
1) Tracking the mutations on internal vts like `_dict_vt` and `_list_vt` using sources. This helps identify if there was a mutation in the underlying data structures, and we need to reconstruct it.
2) `UserDefinedObjectVariable` now has a new method - `is_modified` which `side_effect` infra relies upon to check mutations in the underlying vts (like `_dict_vt`).
3) `reconstruction` logic ensures that we use `dict.__getitem__` and `list.__getitem__` methods. This is super important because we don't want to call the overridden `__getitem__` methods.
If this PR is hard to review, please let me know. I can break it into several small PRs.
X-link: pytorch/pytorch#146819
Approved by: https://github.com/StrongerXi, https://github.com/jansel
Reviewed By: huydhn
Differential Revision: D69537369
fbshipit-source-id: 9c20f4ee84c91639c320a3a04a1a153859623ab6
0 commit comments