Skip to content

Commit

Permalink
Merge pull request #7797 from tk0miya/7791_TypeError_for_singledispat…
Browse files Browse the repository at this point in the history
…chfunction

Fix #7791: autodoc: TypeError is raised on documenting singledispatch function
  • Loading branch information
tk0miya committed Jun 8, 2020
2 parents d0cdf07 + f98987b commit 23a51a3
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ Bugs fixed
* #7668: autodoc: wrong retann value is passed to a handler of
autodoc-proccess-signature
* #7711: autodoc: fails with ValueError when processing numpy objects
* #7791: autodoc: TypeError is raised on documenting singledispatch function
* #7551: autosummary: a nested class is indexed as non-nested class
* #7661: autosummary: autosummary directive emits warnings twices if failed to
import the target module
Expand Down
19 changes: 17 additions & 2 deletions sphinx/ext/autodoc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1222,7 +1222,15 @@ def format_signature(self, **kwargs: Any) -> str:

def annotate_to_first_argument(self, func: Callable, typ: Type) -> None:
"""Annotate type hint to the first argument of function if needed."""
sig = inspect.signature(func)
try:
sig = inspect.signature(func)
except TypeError as exc:
logger.warning(__("Failed to get a function signature for %s: %s"),
self.fullname, exc)
return
except ValueError:
return

if len(sig.parameters) == 0:
return

Expand Down Expand Up @@ -1811,7 +1819,14 @@ def format_signature(self, **kwargs: Any) -> str:

def annotate_to_first_argument(self, func: Callable, typ: Type) -> None:
"""Annotate type hint to the first argument of function if needed."""
sig = inspect.signature(func)
try:
sig = inspect.signature(func)
except TypeError as exc:
logger.warning(__("Failed to get a method signature for %s: %s"),
self.fullname, exc)
return
except ValueError:
return
if len(sig.parameters) == 1:
return

Expand Down

0 comments on commit 23a51a3

Please sign in to comment.