Closed
Description
Issue description
Currently when declaring an enum, the __doc__
attribute of the enum is not settable. However the __doc__
on object()
is settable so it makes sense for the __doc__
of an enum to be settable also.
The use case where this is coming up:
I'm generating type stubs of a pybind module using stubgen. When running mypy with the generated stubs I see the following error:
Signature of "__doc__" incompatible with supertype of "object".
Potential Fix
I'm not sure what the right fix is here. I can of course make the __doc__
property writable on all enum objects, but implementing that properly would mean adding a new attribute to enum objects and that seems wasteful.
Reproducible example code
# include <pybind11/pybind11.h>
namespace py = pybind11;
enum Numbers {
zero,
one
};
PYBIND11_MODULE(numbers, m) {
py::enum_<Numbers>(m, "Numbers")
.value("zero", zero)
.value("one", one)
.export_values()
;
}
Metadata
Metadata
Assignees
Labels
No labels