mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #8023: evaluate_signature() does not work properly in python3.9
Since 3.9b5, ForwardRef._evalute() also takes an additional argument `recursive_guard`. As a result, sphinx.util.inspect:evaluate_signature() does not work properly. This adds a simple wrapper evalute_forwardref() to allow evaluating ForwardRefs in py3.9.
This commit is contained in:
parent
6084c44b50
commit
76e12a59ff
@ -499,7 +499,7 @@ def evaluate_signature(sig: inspect.Signature, globalns: Dict = None, localns: D
|
|||||||
"""Evaluate unresolved type annotations in a signature object."""
|
"""Evaluate unresolved type annotations in a signature object."""
|
||||||
def evaluate_forwardref(ref: ForwardRef, globalns: Dict, localns: Dict) -> Any:
|
def evaluate_forwardref(ref: ForwardRef, globalns: Dict, localns: Dict) -> Any:
|
||||||
"""Evaluate a forward reference."""
|
"""Evaluate a forward reference."""
|
||||||
if sys.version_info > (3, 10):
|
if sys.version_info > (3, 9):
|
||||||
return ref._evaluate(globalns, localns, frozenset())
|
return ref._evaluate(globalns, localns, frozenset())
|
||||||
else:
|
else:
|
||||||
return ref._evaluate(globalns, localns)
|
return ref._evaluate(globalns, localns)
|
||||||
|
Loading…
Reference in New Issue
Block a user