diff --git a/docs/index.rst b/docs/index.rst index a06a46cc5..56a9c0cfa 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,6 +14,7 @@ Contents: advanced cmake benchmark + limitations faq reference changelog diff --git a/docs/limitations.rst b/docs/limitations.rst new file mode 100644 index 000000000..434d09b37 --- /dev/null +++ b/docs/limitations.rst @@ -0,0 +1,19 @@ +Limitations +########### + +pybind11 strives to be a general solution to binding generation, but it also has +certain limitations: + +- pybind11 casts away ``const``-ness in function arguments and return values. + This is in line with the Python language, which has no concept of ``const`` + values. This means that some additional care is needed to avoid bugs that + would be caught by the type checker in a traditional C++ program. + +- Multiple inheritance relationships on the C++ side cannot be mapped to + Python. + +Both of these features could be implemented but would lead to a significant +increase in complexity. I've decided to draw the line here to keep this project +simple and compact. Users who absolutely require these features are encouraged +to fork pybind11. +