<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Objects/dictobject.c, branch fix-misc-acks</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>Fix typo in dict object comment (GH-15814)</title>
<updated>2019-09-10T10:15:43+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2019-09-10T10:15:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=9cbf43adfe268fc65e68d9185b80d3305b2c4f19'/>
<id>9cbf43adfe268fc65e68d9185b80d3305b2c4f19</id>
<content type='text'>
(cherry picked from commit 359143c68659d165f52320d368667e0eff279dc5)

Co-authored-by: dalgarno &lt;32097481+dalgarno@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 359143c68659d165f52320d368667e0eff279dc5)

Co-authored-by: dalgarno &lt;32097481+dalgarno@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-34320: Fix dict(o) didn't copy order of dict subclass (GH-8624)</title>
<updated>2018-09-26T04:17:52+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-09-26T04:17:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=12e3e80241e91df79811f53ff372e28e9371bf9b'/>
<id>12e3e80241e91df79811f53ff372e28e9371bf9b</id>
<content type='text'>
When dict subclass overrides order (`__iter__()`, `keys()`, and `items()`), `dict(o)`
should use it instead of dict ordering.

https://bugs.python.org/issue34320
(cherry picked from commit 2aaf98c16ae3070378de523a173e29644037d8bd)

Co-authored-by: INADA Naoki &lt;methane@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When dict subclass overrides order (`__iter__()`, `keys()`, and `items()`), `dict(o)`
should use it instead of dict ordering.

https://bugs.python.org/issue34320
(cherry picked from commit 2aaf98c16ae3070378de523a173e29644037d8bd)

Co-authored-by: INADA Naoki &lt;methane@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-34042: Fix dict.copy() to maintain correct total refcount (GH-8119)</title>
<updated>2018-07-06T16:40:17+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-07-06T16:40:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=127bd9bfd591c8ec1a97eb7f4037c8b884eef973'/>
<id>127bd9bfd591c8ec1a97eb7f4037c8b884eef973</id>
<content type='text'>
(cherry picked from commit 0b75228700e0077d8bf2636e74733389514b4b2f)

Co-authored-by: Yury Selivanov &lt;yury@magic.io&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 0b75228700e0077d8bf2636e74733389514b4b2f)

Co-authored-by: Yury Selivanov &lt;yury@magic.io&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Spelling fixes to docs, docstrings, and comments (GH-6374)</title>
<updated>2018-04-20T21:00:41+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-04-20T21:00:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=32955299b4b102138220150e2925de4ce7f17c82'/>
<id>32955299b4b102138220150e2925de4ce7f17c82</id>
<content type='text'>
(cherry picked from commit 61f82e0e337f971da57f8f513abfe693edf95aa5)

Co-authored-by: Ville Skyttä &lt;ville.skytta@iki.fi&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 61f82e0e337f971da57f8f513abfe693edf95aa5)

Co-authored-by: Ville Skyttä &lt;ville.skytta@iki.fi&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33312: Fix clang ubsan out of bounds warnings in dict. (GH-6537) (GH-6543)</title>
<updated>2018-04-20T17:06:21+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-04-20T17:06:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=392520bd78cd18639a27e5d2803c2e1c2bd593a8'/>
<id>392520bd78cd18639a27e5d2803c2e1c2bd593a8</id>
<content type='text'>
Fix clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by
adjusting how the internal struct _dictkeysobject shared keys structure is
declared.

This remains ABI compatible.  We get rid of the union at the end of the
struct being used for conveinence to avoid typecasting in favor of char[]
variable length array at the end of a struct. This is known to clang to be
used for variable sized objects and will not cause an undefined behavior
problem.  Similarly, char arrays do not have strict aliasing undefined
behavior when cast.

PEP-007 does not currently list variable length arrays (VLAs) as allowed
in our subset of C99.  If this turns out to be a problem, the fix to this is
to change the char `dk_indices[]` into `dk_indices[1]` and restore the
three size computation subtractions this change removes:
  `- Py_MEMBER_SIZE(PyDictKeysObject, dk_indices)`

If this works as is I'll make a separate PR to update PEP-007.
(cherry picked from commit 397f1b28c4a12e3b3ed59a89599eabc457412649)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by
adjusting how the internal struct _dictkeysobject shared keys structure is
declared.

This remains ABI compatible.  We get rid of the union at the end of the
struct being used for conveinence to avoid typecasting in favor of char[]
variable length array at the end of a struct. This is known to clang to be
used for variable sized objects and will not cause an undefined behavior
problem.  Similarly, char arrays do not have strict aliasing undefined
behavior when cast.

PEP-007 does not currently list variable length arrays (VLAs) as allowed
in our subset of C99.  If this turns out to be a problem, the fix to this is
to change the char `dk_indices[]` into `dk_indices[1]` and restore the
three size computation subtractions this change removes:
  `- Py_MEMBER_SIZE(PyDictKeysObject, dk_indices)`

If this works as is I'll make a separate PR to update PEP-007.
(cherry picked from commit 397f1b28c4a12e3b3ed59a89599eabc457412649)</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33205: dict: Change GROWTH_RATE to `used*3` (GH-6350)</title>
<updated>2018-04-17T17:17:19+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-04-17T17:17:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=902bb62d5af21526b68892a1032c63aa86ded247'/>
<id>902bb62d5af21526b68892a1032c63aa86ded247</id>
<content type='text'>
(cherry picked from commit 5fbc511f56688654a05b9eba23d140318bb9b2d5)

Co-authored-by: INADA Naoki &lt;methane@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 5fbc511f56688654a05b9eba23d140318bb9b2d5)

Co-authored-by: INADA Naoki &lt;methane@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33199: Initialize ma_version_tag in PyDict_Copy (GH-6341)</title>
<updated>2018-04-03T03:00:26+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-04-03T03:00:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=de755129a7a14cb3bee89aa256ca2e4a9a6605ce'/>
<id>de755129a7a14cb3bee89aa256ca2e4a9a6605ce</id>
<content type='text'>
(cherry picked from commit d1c82c5cc7be0c21dddf86fd19c1702f6218459b)

Co-authored-by: INADA Naoki &lt;methane@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit d1c82c5cc7be0c21dddf86fd19c1702f6218459b)

Co-authored-by: INADA Naoki &lt;methane@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-18533: Avoid RecursionError from repr() of recursive dictview (#4823)</title>
<updated>2018-01-26T15:46:01+00:00</updated>
<author>
<name>bennorth</name>
<email>ben@redfrontdoor.org</email>
</author>
<published>2018-01-26T15:46:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=d7773d92bd11640a8c950d6c36a9cef1cee36f96'/>
<id>d7773d92bd11640a8c950d6c36a9cef1cee36f96</id>
<content type='text'>
dictview_repr(): Use a Py_ReprEnter() / Py_ReprLeave() pair to check
for recursion, and produce "..." if so.

test_recursive_repr(): Check for the string rather than a
RecursionError.  (Test cannot be any tighter as contents are
implementation-dependent.)

test_deeply_nested_repr(): Add new test, replacing the original
test_recursive_repr().  It checks that a RecursionError is raised in
the case of a non-recursive but deeply nested structure.  (Very
similar to what test_repr_deep() in test/test_dict.py does for a
normal dict.)

OrderedDictTests: Add new test case, to test behavior on OrderedDict
instances containing their own values() or items().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
dictview_repr(): Use a Py_ReprEnter() / Py_ReprLeave() pair to check
for recursion, and produce "..." if so.

test_recursive_repr(): Check for the string rather than a
RecursionError.  (Test cannot be any tighter as contents are
implementation-dependent.)

test_deeply_nested_repr(): Add new test, replacing the original
test_recursive_repr().  It checks that a RecursionError is raised in
the case of a non-recursive but deeply nested structure.  (Very
similar to what test_repr_deep() in test/test_dict.py does for a
normal dict.)

OrderedDictTests: Add new test case, to test behavior on OrderedDict
instances containing their own values() or items().</pre>
</div>
</content>
</entry>
<entry>
<title> bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code (GH-5222)</title>
<updated>2018-01-25T08:49:40+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-01-25T08:49:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=f320be77ffb73e3b9e7fc98c37b8df3975d84b40'/>
<id>f320be77ffb73e3b9e7fc98c37b8df3975d84b40</id>
<content type='text'>
Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-31179: Make dict.copy() up to 5.5 times faster. (#3067)</title>
<updated>2018-01-22T16:54:41+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yury@magic.io</email>
</author>
<published>2018-01-22T16:54:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=b0a7a037b8fde56b62f886d5188bced7776777b4'/>
<id>b0a7a037b8fde56b62f886d5188bced7776777b4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
