This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Fix weakref doc
Type: enhancement Stage: patch review
Components: Documentation Versions: Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: Prometheus3375, docs@python, meowmeowmeowcat, miss-islington
Priority: normal Keywords: patch

Created on 2021-07-21 20:30 by Prometheus3375, last changed 2022-04-11 14:59 by admin.

Pull Requests
URL Status Linked Edit
PR 27676 merged meowmeowmeowcat, 2021-08-09 11:32
Messages (3)
msg397960 - (view) Author: Svyatoslav (Prometheus3375) * Date: 2021-07-21 20:30
From https://docs.python.org/3/library/weakref.html:
""
Not all objects can be weakly referenced; those objects which can include class instances, functions written in Python (but not in C), instance methods, sets, frozensets, some file objects, generators, type objects, sockets, arrays, deques, regular expression pattern objects, and code objects.
""

My first perception was that this is the list of objects without weakref support. Actually, the sentence lists objects which do support weakref. While writing this report I understood: "can" does not relate to "include" at all. The correct way of reading is "those objects | which can | include ...". Previously I had read it as "those objects | which can include ...". Even Google translates in such manner, commas do not help.

To remove ambguity, I suggest such fix:
""
Not all objects can be weakly referenced. Objects which support weak references include class instances, functions written in Python (but not in C), instance methods, sets, frozensets, some file objects, generators, type objects, sockets, arrays, deques, regular expression pattern objects, and code objects.
""
or
""
Not all objects can be weakly referenced. Сlass instances, functions written in Python (but not in C), instance methods, sets, frozensets, some file objects, generators, type objects, sockets, arrays, deques, regular expression pattern objects, and code objects support weak references.
""
msg399258 - (view) Author: meowmeowcat (meowmeowmeowcat) * Date: 2021-08-09 11:17
Thanks! I agree with what you said here. I'll open a PR for this with your fix suggestion.
msg399260 - (view) Author: miss-islington (miss-islington) Date: 2021-08-09 12:01
New changeset 03e5647ab07c7d2a05094fc3b5ed6eba6fc01349 by meowmeowmeowcat in branch 'main':
bpo-44702: Remove ambiguity in sentence (GH-27676)
https://github.com/python/cpython/commit/03e5647ab07c7d2a05094fc3b5ed6eba6fc01349
History
Date User Action Args
2022-04-11 14:59:47adminsetgithub: 88868
2021-08-09 12:01:56miss-islingtonsetnosy: + miss-islington
messages: + msg399260
2021-08-09 11:32:04meowmeowmeowcatsetkeywords: + patch
stage: patch review
pull_requests: + pull_request26164
2021-08-09 11:17:46meowmeowmeowcatsetnosy: + meowmeowmeowcat
messages: + msg399258
2021-07-21 20:30:56Prometheus3375create