Closed
Description
Required prerequisites
- Make sure you've read the documentation. Your issue may be addressed there.
- Search the issue tracker and Discussions to verify that this hasn't already been reported. +1 or comment there if it has.
- Consider asking first in the Gitter chat room or in a Discussion.
What version (or hash if on master) of pybind11 are you using?
master
Problem description
Just realized the final version of #4259 was merged with annotations in lowercase, e.g. list
, not List
. The other parts of the pybind11 produce upper-case annotations for the same python type, but with different C++ counterpart, e.g. std::pair
/std::tuple
, std::array
.
PEP 585 allows to replace the following types for Python-3.7+:
tuple # typing.Tuple
list # typing.List
dict # typing.Dict
set # typing.Set
frozenset # typing.FrozenSet
type # typing.Type
Reproducible example code
m.def("mix", [](const std::array<int, 3> &, const py::typing::List<int>&) {});
print(demo.mix.__doc__)
# mix(arg0: Annotated[List[int], FixedSize(3)], arg1: list[int]) -> None
# ^^^^ ^^^^
Is this a regression? Put the last known working version here if it is.
Not a regression