Open
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?
Problem description
The function initialize_generic in pybind11.h adds the signature of overloads as part of the docs string if show_function_signatures is true. This signature is not marked as code and hence any use of * in that signature are not correctly interpreted by sphinx, causing an "Inline emphasis start-string without end-string" warning.
A minimal fix is changing this line to
signatures += std::regex_replace(std::string(it->signature), std::regex("\\*"), "\\*"); // making sure * are escaped
Alternatively, the name + signature could also be surrounded by a code block or inline code markers.
The nicest IMO would be for the signatures to be presented in the same style that member functions of a class are, though I don't know how that would need to be done.
Reproducible example code
void createBinding(pybind11::module &m) {
m.def("foo", [&](pybind11::args args) {
// ...;
});
}
Is this a regression? Put the last known working version here if it is.
Not a regression