Skip to content

Commit

Permalink
Fix #8883: autodoc: AttributeError on assigning __annotations__
Browse files Browse the repository at this point in the history
  • Loading branch information
tk0miya committed Feb 15, 2021
1 parent 633c5ad commit b29ee3d
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
2 changes: 2 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ Features added
Bugs fixed
----------

* #8883: autodoc: AttributeError is raised on assigning __annotations__ on
read-only class
* #8884: html: minified js stemmers not included in the distributed package
* #8880: viewcode: ExtensionError is raised on incremental build after
unparsable python module found
Expand Down
6 changes: 3 additions & 3 deletions sphinx/ext/autodoc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1394,7 +1394,7 @@ def annotate_to_first_argument(self, func: Callable, typ: Type) -> None:
params[0] = params[0].replace(annotation=typ)
try:
func.__signature__ = sig.replace(parameters=params) # type: ignore
except TypeError:
except (AttributeError, TypeError):
# failed to update signature (ex. built-in or extension types)
return

Expand Down Expand Up @@ -2177,7 +2177,7 @@ def annotate_to_first_argument(self, func: Callable, typ: Type) -> None:
params[1] = params[1].replace(annotation=typ)
try:
func.__signature__ = sig.replace(parameters=params) # type: ignore
except TypeError:
except (AttributeError, TypeError):
# failed to update signature (ex. built-in or extension types)
return

Expand Down Expand Up @@ -2443,7 +2443,7 @@ def update_annotations(self, parent: Any) -> None:
annotations[attrname] = annotation
except (AttributeError, PycodeError):
pass
except TypeError:
except (AttributeError, TypeError):
# Failed to set __annotations__ (built-in, extensions, etc.)
pass

Expand Down

0 comments on commit b29ee3d

Please sign in to comment.