[pypy-commit] cffi default: Write down an explicit example of what not to do
arigo
pypy.commits at gmail.com
Thu Aug 31 11:44:20 EDT 2017
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r3006:3d609382a4b8
Date: 2017-08-31 17:44 +0200
http://bitbucket.org/cffi/cffi/changeset/3d609382a4b8/
Log: Write down an explicit example of what not to do
diff --git a/doc/source/ref.rst b/doc/source/ref.rst
--- a/doc/source/ref.rst
+++ b/doc/source/ref.rst
@@ -51,6 +51,9 @@
data can be used as long as this object is kept alive, but must not be
used for a longer time. Be careful about that when copying the
pointer to the memory somewhere else, e.g. into another structure.
+Also, this means that a line like ``x = ffi.new(...)[0]`` is *always
+wrong:* the newly allocated object goes out of scope instantly, and so
+is freed immediately, and ``x`` is garbage.
The returned memory is initially cleared (filled with zeroes), before
the optional initializer is applied. For performance, see
More information about the pypy-commit
mailing list