Should `patch` propagate `__doc__` when `autospec=True`

I have observed when using unittest.mock.patch with autospec=True that __doc__ is not propagated, but __name__ is.

from unittest.mock import patch

def some_function() -> None:
    """Some docstring."""

with patch(__name__ + ".some_function", autospec=True) as mock_some_function:
    print(mock_some_function.__name__)
    print(mock_some_function.__doc__)

Prints:

some_function
None

What do you think of propagating __doc__ when autospec=True?

To me it could make sense for it to do that. In the code it looks like there is currently special handling for __name__ to propagate.

It’s possible that the intent was for magic attributes to not propagate, but I don’t see that in the docs. … I guess it would be nice if the docs said that if it was the intent… otherwise __doc__, etc. should probably propogate.