Commit e705fb5f by Sergei Izmailov Committed by GitHub

Fix enum's `__str__` docstring (#4827)

* fix: Enum __str__ function name

* tests: Test enum.__str__.__doc__
parent 1adac5a5
...@@ -2014,7 +2014,7 @@ struct enum_base { ...@@ -2014,7 +2014,7 @@ struct enum_base {
object type_name = type::handle_of(arg).attr("__name__"); object type_name = type::handle_of(arg).attr("__name__");
return pybind11::str("{}.{}").format(std::move(type_name), enum_name(arg)); return pybind11::str("{}.{}").format(std::move(type_name), enum_name(arg));
}, },
name("name"), name("__str__"),
is_method(m_base)); is_method(m_base));
if (options::show_enum_members_docstring()) { if (options::show_enum_members_docstring()) {
......
...@@ -264,3 +264,8 @@ def test_docstring_signatures(): ...@@ -264,3 +264,8 @@ def test_docstring_signatures():
for attr in enum_type.__dict__.values(): for attr in enum_type.__dict__.values():
# Issue #2623/PR #2637: Add argument names to enum_ methods # Issue #2623/PR #2637: Add argument names to enum_ methods
assert "arg0" not in (attr.__doc__ or "") assert "arg0" not in (attr.__doc__ or "")
def test_str_signature():
for enum_type in [m.ScopedEnum, m.UnscopedEnum]:
assert enum_type.__str__.__doc__.startswith("__str__")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment