-
-
Notifications
You must be signed in to change notification settings - Fork 133
Closed
Labels
Milestone
Description
- cattrs version: 23.2.3
- Python version: 3.9.18, 3.10.13
- Operating System: WSL-Ubuntu-22.04
Description
Structure failed and raises cattrs.errors.StructureHandlerNotFoundError: Unsupported type: typing_extensions.Any. Register a structure hook for it.. It succeeds if I use typing.Any.
typing_extension version is 4.9.0
What I Did
>>> import cattrs
>>> import typing as t
>>> import typing_extensions as te
>>> cattrs.structure(1, te.Any)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.10/site-packages/cattrs/converters.py", line 332, in structure
return self._structure_func.dispatch(cl)(obj, cl)
File "/usr/local/lib/python3.10/site-packages/cattrs/fns.py", line 17, in raise_error
raise StructureHandlerNotFoundError(msg, type_=cl)
cattrs.errors.StructureHandlerNotFoundError: Unsupported type: typing_extensions.Any. Register a structure hook for it.
>>> cattrs.structure(1, t.Any)
1
>>> cattrs.structure([1], list[te.Any])
+ Exception Group Traceback (most recent call last):
| File "<stdin>", line 1, in <module>
| File "/usr/local/lib/python3.10/site-packages/cattrs/converters.py", line 332, in structure
| return self._structure_func.dispatch(cl)(obj, cl)
| File "/usr/local/lib/python3.10/site-packages/cattrs/converters.py", line 531, in _structure_list
| raise IterableValidationError(
| cattrs.errors.IterableValidationError: While structuring list[typing_extensions.Any] (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/usr/local/lib/python3.10/site-packages/cattrs/converters.py", line 521, in _structure_list
| res.append(handler(e, elem_type))
| File "/usr/local/lib/python3.10/site-packages/cattrs/fns.py", line 17, in raise_error
| raise StructureHandlerNotFoundError(msg, type_=cl)
| cattrs.errors.StructureHandlerNotFoundError: Unsupported type: typing_extensions.Any. Register a structure hook for it.
| Structuring list[typing_extensions.Any] @ index 0
+------------------------------------
>>> cattrs.structure([1], list[t.Any])
[1]Reactions are currently unavailable