From b5657b70db6be004e2197ff9285d9098b7ecf191 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 14:27:59 -0600 Subject: [PATCH 01/14] add docstring to output list --- mypy/stubgenc.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py index 7ab500b4fe120..8d6f4cc499158 100755 --- a/mypy/stubgenc.py +++ b/mypy/stubgenc.py @@ -36,6 +36,7 @@ infer_method_arg_types, infer_method_ret_type, ) +import mypy.util class ExternalSignatureGenerator(SignatureGenerator): @@ -809,6 +810,9 @@ def generate_class_stub(self, class_name: str, cls: type, output: list[str]) -> self.indent() class_info = ClassInfo(class_name, "", getattr(cls, "__doc__", None), cls) + docstring = class_info.docstring if self._include_docstrings else None + if docstring: + docstring = self._indent_docstring(docstring) for attr, value in items: # use unevaluated descriptors when dealing with property inspection @@ -862,8 +866,10 @@ def generate_class_stub(self, class_name: str, cls: type, output: list[str]) -> bases_str = "(%s)" % ", ".join(bases) else: bases_str = "" - if types or static_properties or rw_properties or methods or ro_properties: + if types or static_properties or rw_properties or methods or ro_properties or docstring: output.append(f"{self._indent}class {class_name}{bases_str}:") + if docstring: + output.append(f"{self._indent} {mypy.util.quote_docstring(docstring)}") for line in types: if ( output From b234249b907913fb41da44f8057779699d2e9e90 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 14:28:11 -0600 Subject: [PATCH 02/14] try testing with inspect mode --- misc/test-stubgenc.sh | 3 +++ test-data/unit/stubgen.test | 1 + 2 files changed, 4 insertions(+) diff --git a/misc/test-stubgenc.sh b/misc/test-stubgenc.sh index ad66722628d8a..bd37ada246c4d 100755 --- a/misc/test-stubgenc.sh +++ b/misc/test-stubgenc.sh @@ -42,4 +42,7 @@ stubgenc_test expected_stubs_no_docs -p pybind11_fixtures # create stubs with docstrings stubgenc_test expected_stubs_with_docs -p pybind11_fixtures --include-docstrings +# create stubs with docstrings using inspection +stubgenc_test expected_stubs_with_docs -p pybind11_fixtures --include-docstrings --inspect-mode + exit $EXIT diff --git a/test-data/unit/stubgen.test b/test-data/unit/stubgen.test index fe0538159aa36..b5128d9d8cfa6 100644 --- a/test-data/unit/stubgen.test +++ b/test-data/unit/stubgen.test @@ -266,6 +266,7 @@ class A: ... [out] class A: ... + [case testSkipPrivateFunction] def _f(): ... def g(): ... From e62a617305d119d73307c87512aff57d7e439d64 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 15:02:41 -0600 Subject: [PATCH 03/14] add to test-data unittests --- test-data/unit/stubgen.test | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/test-data/unit/stubgen.test b/test-data/unit/stubgen.test index b5128d9d8cfa6..5ec7fdcb6fe27 100644 --- a/test-data/unit/stubgen.test +++ b/test-data/unit/stubgen.test @@ -3641,6 +3641,58 @@ class B: def quoteD() -> None: '''raw with quotes\\"''' +[case testIncludeDocstringsInspectMode] +# flags: --include-docstrings --inspect-mode +class A: + """class docstring + + a multiline 😊 docstring""" + def func(): + """func docstring + don't forget to indent""" + ... + def nodoc(): + ... +class B: + def quoteA(): + '''func docstring with quotes"""\\n + and an end quote\'''' + ... + def quoteB(): + '''func docstring with quotes""" + \'\'\' + and an end quote\\"''' + ... + def quoteC(): + """func docstring with end quote\\\"""" + ... + def quoteD(): + r'''raw with quotes\"''' + ... +[out] +class A: + """class docstring + + a multiline 😊 docstring""" + def func() -> None: + """func docstring + don't forget to indent""" + def nodoc() -> None: ... + +class B: + def quoteA() -> None: + '''func docstring with quotes"""\\n + and an end quote\'''' + def quoteB() -> None: + '''func docstring with quotes""" + \'\'\' + and an end quote\\"''' + def quoteC() -> None: + '''func docstring with end quote\\"''' + def quoteD() -> None: + '''raw with quotes\\"''' + + [case testIgnoreDocstrings] class A: """class docstring From 0d42e6dedc91829d9df90ead4f89a486f48af559 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 16 Aug 2024 21:05:58 +0000 Subject: [PATCH 04/14] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- mypy/stubgenc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py index 8d6f4cc499158..d07cfa35414d9 100755 --- a/mypy/stubgenc.py +++ b/mypy/stubgenc.py @@ -14,6 +14,7 @@ from types import FunctionType, ModuleType from typing import Any, Callable, Mapping +import mypy.util from mypy.fastparse import parse_type_comment from mypy.moduleinspect import is_c_module from mypy.stubdoc import ( @@ -36,7 +37,6 @@ infer_method_arg_types, infer_method_ret_type, ) -import mypy.util class ExternalSignatureGenerator(SignatureGenerator): From e85a685da0de216d95b8c91bc0665b320362b64a Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 15:27:36 -0600 Subject: [PATCH 05/14] add class docstrings to expected file --- .../pybind11_fixtures/demo.pyi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi index 1be0bc905a439..c02431e7d0d06 100644 --- a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi +++ b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi @@ -5,6 +5,11 @@ __version__: str class Point: class AngleUnit: + """Members: + + radian + + degree""" __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... degree: ClassVar[Point.AngleUnit] = ... @@ -27,6 +32,13 @@ class Point: def value(self) -> int: ... class LengthUnit: + """Members: + + mm + + pixel + + inch""" __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... inch: ClassVar[Point.LengthUnit] = ... From c4bff97ed7050b88ae3a43b29233e696dc1350a1 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 15:30:00 -0600 Subject: [PATCH 06/14] fix spaces --- .../pybind11_fixtures/demo.pyi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi index c02431e7d0d06..b229f6d93693a 100644 --- a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi +++ b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi @@ -7,9 +7,9 @@ class Point: class AngleUnit: """Members: - radian + radian - degree""" + degree""" __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... degree: ClassVar[Point.AngleUnit] = ... @@ -34,11 +34,11 @@ class Point: class LengthUnit: """Members: - mm + mm - pixel + pixel - inch""" + inch""" __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... inch: ClassVar[Point.LengthUnit] = ... From 18eb1ab1b8424c484e058a260475a817fadbacf0 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 16:06:46 -0600 Subject: [PATCH 07/14] move docstring indent to after class dedent --- mypy/stubgenc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py index d07cfa35414d9..1f3ce9eb278c4 100755 --- a/mypy/stubgenc.py +++ b/mypy/stubgenc.py @@ -811,8 +811,6 @@ def generate_class_stub(self, class_name: str, cls: type, output: list[str]) -> class_info = ClassInfo(class_name, "", getattr(cls, "__doc__", None), cls) docstring = class_info.docstring if self._include_docstrings else None - if docstring: - docstring = self._indent_docstring(docstring) for attr, value in items: # use unevaluated descriptors when dealing with property inspection @@ -861,6 +859,9 @@ def generate_class_stub(self, class_name: str, cls: type, output: list[str]) -> self.dedent() + if docstring: + docstring = self._indent_docstring(docstring) + bases = self.get_base_types(cls) if bases: bases_str = "(%s)" % ", ".join(bases) From 4b4d8ec6ea43cb81fe8e3fabdf73b3097b783510 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Fri, 16 Aug 2024 16:08:22 -0600 Subject: [PATCH 08/14] and update tests --- .../pybind11_fixtures/demo.pyi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi index b229f6d93693a..28ce814c7da09 100644 --- a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi +++ b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi @@ -7,9 +7,9 @@ class Point: class AngleUnit: """Members: - radian + radian - degree""" + degree""" __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... degree: ClassVar[Point.AngleUnit] = ... @@ -34,11 +34,11 @@ class Point: class LengthUnit: """Members: - mm + mm - pixel + pixel - inch""" + inch""" __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... inch: ClassVar[Point.LengthUnit] = ... From b66c0bd8e870f3fd46cd98a3479bbb4509daaa12 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Sat, 17 Aug 2024 23:36:30 -0600 Subject: [PATCH 09/14] give pybind11 classes a reasonable docstring. use cleandoc logic to determin dedent in docstring --- mypy/stubgenc.py | 42 ++++++++++++++++-------- test-data/pybind11_fixtures/src/main.cpp | 4 +-- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py index 1f3ce9eb278c4..d84bd668a83ad 100755 --- a/mypy/stubgenc.py +++ b/mypy/stubgenc.py @@ -11,6 +11,7 @@ import inspect import keyword import os.path +import sys from types import FunctionType, ModuleType from typing import Any, Callable, Mapping @@ -652,21 +653,34 @@ def generate_function_stub( def _indent_docstring(self, docstring: str) -> str: """Fix indentation of docstring extracted from pybind11 or other binding generators.""" - lines = docstring.splitlines(keepends=True) + # this follows inspect.cleandoc except it only changes the margins. + # it won't remove empty lines at the start or end. + # nor remove whitespace at the start of the first line. + # essentially it should do as little to the docstring as possible. + + lines = docstring.expandtabs().split("\n") + + # Find minimum indentation of any non-blank lines after first line. + margin = sys.maxsize + for line in lines[1:]: + content = len(line.lstrip(" ")) + if content: + indent = len(line) - content + margin = min(margin, indent) + indent = self._indent + " " - if len(lines) > 1: - if not all(line.startswith(indent) or not line.strip() for line in lines): - # if the docstring is not indented, then indent all but the first line - for i, line in enumerate(lines[1:]): - if line.strip(): - lines[i + 1] = indent + line - # if there's a trailing newline, add a final line to visually indent the quoted docstring - if lines[-1].endswith("\n"): - if len(lines) > 1: - lines.append(indent) - else: - lines[-1] = lines[-1][:-1] - return "".join(lines) + # Remove margin and set it to indent. + if margin < sys.maxsize: + for i in range(1, len(lines)): + dedent_line = lines[i][margin:] + # if the lile after dedent was not empty, add our indent + if dedent_line: + dedent_line = indent + dedent_line + lines[i] = dedent_line + if lines[-1] == "": + # if the last line was empty, indent it so the triple end quote is in a good spot. + lines[-1] = indent + lines[-1] + return "\n".join(lines) def _fix_iter( self, ctx: FunctionContext, inferred: list[FunctionSig], output: list[str] diff --git a/test-data/pybind11_fixtures/src/main.cpp b/test-data/pybind11_fixtures/src/main.cpp index 4d275ab1fd709..3d947778f86fa 100644 --- a/test-data/pybind11_fixtures/src/main.cpp +++ b/test-data/pybind11_fixtures/src/main.cpp @@ -228,8 +228,8 @@ void bind_demo(py::module& m) { // Classes py::class_ pyPoint(m, "Point"); - py::enum_ pyLengthUnit(pyPoint, "LengthUnit"); - py::enum_ pyAngleUnit(pyPoint, "AngleUnit"); + py::enum_ pyLengthUnit(pyPoint, "LengthUnit", "Describes the length measurement units."); + py::enum_ pyAngleUnit(pyPoint, "AngleUnit", "Describes the angle measurement units."); pyPoint .def(py::init<>()) From 21baed90e8928ed275257865620f02954e782113 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Sat, 17 Aug 2024 23:38:50 -0600 Subject: [PATCH 10/14] add some tests --- test-data/unit/stubgen.test | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test-data/unit/stubgen.test b/test-data/unit/stubgen.test index 5ec7fdcb6fe27..f24eeb7c42c33 100644 --- a/test-data/unit/stubgen.test +++ b/test-data/unit/stubgen.test @@ -3641,8 +3641,10 @@ class B: def quoteD() -> None: '''raw with quotes\\"''' -[case testIncludeDocstringsInspectMode] +[case testIncludeDocstringsInspectMode-xfail] # flags: --include-docstrings --inspect-mode + +# TODO: --inspect mode doesn't explicitly match the functionality when writing the function call signatures. class A: """class docstring From eb09d89c1818b7ae9273cd808b0e5c5f4e3aaf52 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Sat, 17 Aug 2024 23:41:09 -0600 Subject: [PATCH 11/14] update test targets --- .../pybind11_fixtures/demo.pyi | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi index 28ce814c7da09..b64829f174b54 100644 --- a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi +++ b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi @@ -5,7 +5,9 @@ __version__: str class Point: class AngleUnit: - """Members: + """Describes the angle measurement units. + + Members: radian @@ -15,24 +17,32 @@ class Point: degree: ClassVar[Point.AngleUnit] = ... radian: ClassVar[Point.AngleUnit] = ... def __init__(self, value: int) -> None: - """__init__(self: pybind11_fixtures.demo.Point.AngleUnit, value: int) -> None""" + """__init__(self: pybind11_fixtures.demo.Point.AngleUnit, value: int) -> None + """ def __eq__(self, other: object) -> bool: - """__eq__(self: object, other: object) -> bool""" + """__eq__(self: object, other: object) -> bool + """ def __hash__(self) -> int: - """__hash__(self: object) -> int""" + """__hash__(self: object) -> int + """ def __index__(self) -> int: - """__index__(self: pybind11_fixtures.demo.Point.AngleUnit) -> int""" + """__index__(self: pybind11_fixtures.demo.Point.AngleUnit) -> int + """ def __int__(self) -> int: - """__int__(self: pybind11_fixtures.demo.Point.AngleUnit) -> int""" + """__int__(self: pybind11_fixtures.demo.Point.AngleUnit) -> int + """ def __ne__(self, other: object) -> bool: - """__ne__(self: object, other: object) -> bool""" + """__ne__(self: object, other: object) -> bool + """ @property def name(self) -> str: ... @property def value(self) -> int: ... class LengthUnit: - """Members: + """Describes the length measurement units. + + Members: mm @@ -86,7 +96,8 @@ class Point: 2. __init__(self: pybind11_fixtures.demo.Point, x: float, y: float) -> None """ def as_list(self) -> list[float]: - """as_list(self: pybind11_fixtures.demo.Point) -> List[float]""" + """as_list(self: pybind11_fixtures.demo.Point) -> List[float] + """ @overload def distance_to(self, x: float, y: float) -> float: """distance_to(*args, **kwargs) @@ -114,11 +125,13 @@ def answer() -> int: answer docstring, with end quote" ''' def midpoint(left: float, right: float) -> float: - """midpoint(left: float, right: float) -> float""" + """midpoint(left: float, right: float) -> float + """ def sum(arg0: int, arg1: int) -> int: '''sum(arg0: int, arg1: int) -> int multiline docstring test, edge case quotes """\'\'\' ''' def weighted_midpoint(left: float, right: float, alpha: float = ...) -> float: - """weighted_midpoint(left: float, right: float, alpha: float = 0.5) -> float""" + """weighted_midpoint(left: float, right: float, alpha: float = 0.5) -> float + """ From 92521df8adc7d17b30e6ea5d9ac7394f6505f7df Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Sun, 18 Aug 2024 00:25:25 -0600 Subject: [PATCH 12/14] updates for mypy --- mypy/stubgenc.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py index d84bd668a83ad..e16416c5e358b 100755 --- a/mypy/stubgenc.py +++ b/mypy/stubgenc.py @@ -668,18 +668,19 @@ def _indent_docstring(self, docstring: str) -> str: indent = len(line) - content margin = min(margin, indent) - indent = self._indent + " " + doc_indent = self._indent + " " # Remove margin and set it to indent. if margin < sys.maxsize: for i in range(1, len(lines)): - dedent_line = lines[i][margin:] - # if the lile after dedent was not empty, add our indent - if dedent_line: - dedent_line = indent + dedent_line - lines[i] = dedent_line + # dedent the line + line = lines[i][margin:] + # if the line after dedent was not empty, prepend our indent + if line: + line = doc_indent + line + lines[i] = line if lines[-1] == "": # if the last line was empty, indent it so the triple end quote is in a good spot. - lines[-1] = indent + lines[-1] + lines[-1] = doc_indent + lines[-1] return "\n".join(lines) def _fix_iter( From 29c4b8a41643e81adbec946ad7963ed2194ad603 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Sun, 18 Aug 2024 00:30:55 -0600 Subject: [PATCH 13/14] more test target updatse --- .../pybind11_fixtures/__init__.pyi | 15 ++++++++++----- .../pybind11_fixtures/demo.pyi | 18 ++++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/__init__.pyi b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/__init__.pyi index db04bccab028f..1f80e14eda804 100644 --- a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/__init__.pyi +++ b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/__init__.pyi @@ -41,12 +41,17 @@ class TestStruct: def field_readonly(self) -> int: ... def func_incomplete_signature(*args, **kwargs): - """func_incomplete_signature() -> dummy_sub_namespace::HasNoBinding""" + """func_incomplete_signature() -> dummy_sub_namespace::HasNoBinding + """ def func_returning_optional() -> int | None: - """func_returning_optional() -> Optional[int]""" + """func_returning_optional() -> Optional[int] + """ def func_returning_pair() -> tuple[int, float]: - """func_returning_pair() -> Tuple[int, float]""" + """func_returning_pair() -> Tuple[int, float] + """ def func_returning_path() -> os.PathLike: - """func_returning_path() -> os.PathLike""" + """func_returning_path() -> os.PathLike + """ def func_returning_vector() -> list[float]: - """func_returning_vector() -> List[float]""" + """func_returning_vector() -> List[float] + """ diff --git a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi index b64829f174b54..47ea1e50b290d 100644 --- a/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi +++ b/test-data/pybind11_fixtures/expected_stubs_with_docs/pybind11_fixtures/demo.pyi @@ -55,17 +55,23 @@ class Point: mm: ClassVar[Point.LengthUnit] = ... pixel: ClassVar[Point.LengthUnit] = ... def __init__(self, value: int) -> None: - """__init__(self: pybind11_fixtures.demo.Point.LengthUnit, value: int) -> None""" + """__init__(self: pybind11_fixtures.demo.Point.LengthUnit, value: int) -> None + """ def __eq__(self, other: object) -> bool: - """__eq__(self: object, other: object) -> bool""" + """__eq__(self: object, other: object) -> bool + """ def __hash__(self) -> int: - """__hash__(self: object) -> int""" + """__hash__(self: object) -> int + """ def __index__(self) -> int: - """__index__(self: pybind11_fixtures.demo.Point.LengthUnit) -> int""" + """__index__(self: pybind11_fixtures.demo.Point.LengthUnit) -> int + """ def __int__(self) -> int: - """__int__(self: pybind11_fixtures.demo.Point.LengthUnit) -> int""" + """__int__(self: pybind11_fixtures.demo.Point.LengthUnit) -> int + """ def __ne__(self, other: object) -> bool: - """__ne__(self: object, other: object) -> bool""" + """__ne__(self: object, other: object) -> bool + """ @property def name(self) -> str: ... @property From 878598eec5c9c8ca261ebe7d8337668738432ee0 Mon Sep 17 00:00:00 2001 From: Joseph Capriotti Date: Sun, 18 Aug 2024 10:19:42 -0600 Subject: [PATCH 14/14] the pybind11 stubgenc test already ran in import mode implicitly. --- misc/test-stubgenc.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/misc/test-stubgenc.sh b/misc/test-stubgenc.sh index bd37ada246c4d..ad66722628d8a 100755 --- a/misc/test-stubgenc.sh +++ b/misc/test-stubgenc.sh @@ -42,7 +42,4 @@ stubgenc_test expected_stubs_no_docs -p pybind11_fixtures # create stubs with docstrings stubgenc_test expected_stubs_with_docs -p pybind11_fixtures --include-docstrings -# create stubs with docstrings using inspection -stubgenc_test expected_stubs_with_docs -p pybind11_fixtures --include-docstrings --inspect-mode - exit $EXIT