pdoc3/pdoc

Documentation shows unexpected ForwardRef(None) inside Union.

hhoppe opened this issue · 1 comments

Input:

from typing import Union

def test1_func(arg: Union[None, str, int]) -> None:
  return

Resulting documentation:
def test1_func(arg: Union[ForwardRef(None), str, int]) ‑> None

Expected documentation:
def test1_func(arg: Union[None, str, int]) ‑> None

!pdoc --version
pdoc 0.10.0

Actually, it would be even better (clearer and more concise) if this produced the Python 3.10 syntax:

def test1_func(arg: str | int | None) ‑> None

It seems that pdoc does so some of the time -- maybe only for Optional[simple_type]?