Fix minor docstring issues in `dataclasses.py`. (gh-93024)

Previously, when using `functools.wrap` around them (and inherit their docstrings), sphinx renders the docstrings badly and raises warnings about wrong indent.
This commit is contained in:
Roman Novak 2022-07-26 07:48:58 -07:00 committed by GitHub
parent 75c0c1b993
commit b8c528694e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 7 deletions

View File

@ -1255,7 +1255,7 @@ def asdict(obj, *, dict_factory=dict):
"""Return the fields of a dataclass instance as a new dictionary mapping
field names to field values.
Example usage:
Example usage::
@dataclass
class C:
@ -1326,8 +1326,8 @@ def astuple(obj, *, tuple_factory=tuple):
x: int
y: int
c = C(1, 2)
assert astuple(c) == (1, 2)
c = C(1, 2)
assert astuple(c) == (1, 2)
If given, 'tuple_factory' will be used instead of built-in tuple.
The function applies recursively to field values that are
@ -1376,11 +1376,11 @@ def make_dataclass(cls_name, fields, *, bases=(), namespace=None, init=True,
The dataclass name will be 'cls_name'. 'fields' is an iterable
of either (name), (name, type) or (name, type, Field) objects. If type is
omitted, use the string 'typing.Any'. Field objects are created by
the equivalent of calling 'field(name, type [, Field-info])'.
the equivalent of calling 'field(name, type [, Field-info])'.::
C = make_dataclass('C', ['x', ('y', int), ('z', int, field(init=False))], bases=(Base,))
is equivalent to:
is equivalent to::
@dataclass
class C(Base):
@ -1444,7 +1444,7 @@ def make_dataclass(cls_name, fields, *, bases=(), namespace=None, init=True,
def replace(obj, /, **changes):
"""Return a new object replacing specified fields with new values.
This is especially useful for frozen classes. Example usage:
This is especially useful for frozen classes. Example usage::
@dataclass(frozen=True)
class C:
@ -1454,7 +1454,7 @@ def replace(obj, /, **changes):
c = C(1, 2)
c1 = replace(c, x=3)
assert c1.x == 3 and c1.y == 2
"""
"""
# We're going to mutate 'changes', but that's okay because it's a
# new dict, even if called with 'replace(obj, **my_changes)'.