Commit 8fae8cc
add APIs to determine a class is a namedtuple or PyStructSequence (#113257)
Summary:
Changes in this PR:
1. Add `is_structseq` and `is_structseq_class` functions to determine a object or a class is PyStructSequence.
2. Add a generic class `structseq` which can be used as the registration key for PyStructSequence types like `namedtuple` for Named Tuple types.
3. Change `is_namedtuple` to accept subclasses of namedtuple to be namedtuple. Before this PR, only namedtuple class directly created by `collections.namedtuple` or `typing.NamedTuple` were namedtuple classes while their subclasses were not. This PR makes `is_namedtuple` return true for subclasses of namedtuple class.
Resolves #75982. New tests are included in this PR.
- #75982
X-link: pytorch/pytorch#113257
Approved by: https://github.com/zou3519
Reviewed By: clee2000
Differential Revision: D72251158
fbshipit-source-id: cd57a40c0507ff7cb21fc42f42d42edf95379eef1 parent 40a841b commit 8fae8cc
1 file changed
+1
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1397 | 1397 | | |
1398 | 1398 | | |
1399 | 1399 | | |
1400 | | - | |
| 1400 | + | |
1401 | 1401 | | |
1402 | 1402 | | |
1403 | 1403 | | |
| |||
0 commit comments