Antoine Pitrou pit...@free.fr added the comment:
Even if C++ decides it's an useful feature, it's not a sufficient reason
to add it to Python!
Based on previous discussion and the converging advice of others, this
bug can IMO be closed.
--
resolution: - rejected
status: open - closed
Adam Olsen rha...@gmail.com added the comment:
Fix it at its source: patch your database engine to use the type you
want. Or wrap the list without subclassing (__iter__ may be the only
method you need to wrap).
Obscure performance hacks don't warrant language extensions.
--
nosy:
Kristján Valur Jónsson krist...@ccpgames.com added the comment:
fyi, here is the thread from python-ideas:
http://mail.python.org/pipermail/python-ideas/2009-June/005042.html
The parallel to C++´s future rvalue reference is interesting
(http://www.artima.com/cppsource/rvalue.html, see the
New submission from Kristján Valur Jónsson krist...@ccpgames.com:
It is sometimes useful to be able to swap the contents of two lists and
this patch provides a way to do so using the fastest way possible.
a = [1, 2]
b = [3]
id(a), id(b)
(100, 101)
a.swap(b)
a
[3]
b
[1, 2]
id(a), id(b)
Raymond Hettinger rhettin...@users.sourceforge.net added the comment:
One application of this is to make help a performance problem when one
wants to upgrade a list instance into a subclass instance.
Since this bypasses the subclass's __init__ and other methods, doesn't
it risk violating
R. David Murray rdmur...@bitdance.com added the comment:
There are clearly enough subtleties to this proposal that it should be
discussed on python-ideas first. If a consensus is reached you can
reopen this ticket, referencing the discussion thread.
--
nosy: +r.david.murray
priority:
Raymond Hettinger rhettin...@users.sourceforge.net added the comment:
FWIW, the technique is useful and fast, but it is complicated in its
effects. I used something similar in the set_swap_bodies() internal
code for set and frozenset objects but avoided exposing the behavior
externally.
Kristján Valur Jónsson krist...@ccpgames.com added the comment:
Indeed, I realized that it does allow overriding all kinds of behaviour
and as such may be dangerous for the unwary. But isn't it possible to
do so anyway?
One way to increase safety would be to require that the other list is
Changes by Raymond Hettinger rhettin...@users.sourceforge.net:
Added file: http://bugs.python.org/file14345/mview2.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6326
___
Changes by Raymond Hettinger rhettin...@users.sourceforge.net:
Removed file: http://bugs.python.org/file14345/mview2.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6326
___
10 matches
Mail list logo