[Python-checkins] Fix minor docstring issues in `dataclasses.py`. (gh-93024) (GH-95286)
ambv
webhook-mailer at python.org
Wed Jul 27 04:08:30 EDT 2022
https://github.com/python/cpython/commit/f083adfdacfa90f90e1c1d8cb5ed0cb087f585c0
commit: f083adfdacfa90f90e1c1d8cb5ed0cb087f585c0
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: ambv <lukasz at langa.pl>
date: 2022-07-27T10:08:21+02:00
summary:
Fix minor docstring issues in `dataclasses.py`. (gh-93024) (GH-95286)
Previously, when using `functools.wrap` around them (and inherit their docstrings), sphinx renders the docstrings badly and raises warnings about wrong indent.
(cherry picked from commit b8c528694edb7a31020116956cc4daf07a5cd97f)
Co-authored-by: Roman Novak <44512421+romanngg at users.noreply.github.com>
files:
M Lib/dataclasses.py
diff --git a/Lib/dataclasses.py b/Lib/dataclasses.py
index 103ecbafb2e27..a567a33d646f4 100644
--- a/Lib/dataclasses.py
+++ b/Lib/dataclasses.py
@@ -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 @@ class C:
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 exec_body_callback(ns):
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 @@ class C:
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)'.
More information about the Python-checkins
mailing list