diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index 3980e45ed68324..4d422f539ad184 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -683,7 +683,7 @@ These can be used as types in annotations and do not support ``[]``. from typing import Self class Foo: - def returns_self(self) -> Self: + def return_self(self) -> Self: ... return self @@ -696,7 +696,7 @@ These can be used as types in annotations and do not support ``[]``. Self = TypeVar("Self", bound="Foo") class Foo: - def returns_self(self: Self) -> Self: + def return_self(self: Self) -> Self: ... return self @@ -707,7 +707,7 @@ These can be used as types in annotations and do not support ``[]``. ... return self - You should use use :data:`Self` as calls to ``SubclassOfFoo.returns_self`` would have + You should use :data:`Self` as calls to ``SubclassOfFoo.return_self`` would have ``Foo`` as the return type and not ``SubclassOfFoo``. Other common use cases include: diff --git a/Lib/typing.py b/Lib/typing.py index 66c26e416bd0ba..43ef07e50cfefc 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -569,7 +569,7 @@ def Self(self, parameters): from typing import Self class Foo: - def returns_self(self) -> Self: + def return_self(self) -> Self: ... return self