Thanks!  This helps.

I was just not sure if I was on the right track or not.  I did try
disabling &list_nohash in listobject.c

I think I have the right idea and just needed some reassurance.  I'll
give it another try.

Thanks again.

On 9/3/07, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> You're going to have to do some spelunking in the 3.0 source (because
> I don't have time right now :-), but I think 3.0 has some magic that
> solves this. I *think* it is done by not inheriting tp_hash unless
> tp_richcompare is also inherited. The details are probably in
> typeobject.c.
>
> Ask me again tomorrow if you can't figure it out.
>
> --Guido
>
> On 9/3/07, Benjamin Aranguren <[EMAIL PROTECTED]> wrote:
> > I am having a problem backporting collections.py/_abcoll.py and would
> > like to get your input.
> >
> > There's one test in test_collections that fails.
> >
> > class TestOneTrickPonyABCs(unittest.TestCase):
> >
> >     def test_Hashable(self):
> >         # Check some non-hashables
> >         non_samples = [list(), set(), dict()]
> >         for x in non_samples:
> >             self.failIf(isinstance(x, Hashable), repr(x))
> >             self.failIf(issubclass(type(x), Hashable), repr(type(x)))
> >
> > The problem is list, set, dict all has __hash__ function so isinstance
> > and issubclass returns true even though none of list, set, and dict
> > was registered as a subclass of Hashable.
> >
> > But, calling x.__hash__() on these types results to a TypeError: list
> > objects are unhashable.
> >
> > Thanks!
> >
> > On 8/26/07, Benjamin Aranguren <[EMAIL PROTECTED]> wrote:
> > > I got it now.  both modules need to be backported as well.  I'm on it.
> > >
> > > On 8/26/07, Benjamin Aranguren <[EMAIL PROTECTED]> wrote:
> > > > No problem.  Created issue 1026 in tracker with a single patch file 
> > > > attached.
> > > >
> > > > I'm not aware of what changes need to be done with _abcoll.py and
> > > > collections.py.  If you can point me to the right direction, I would
> > > > definitely like to work on it.
> > > >
> > > > On 8/26/07, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> > > > > Thanks!
> > > > >
> > > > > Would it inconvenience you terribly to upload this all to the new
> > > > > tracker (bugs.python.org)? Preferably as a single patch against the
> > > > > svn trunk (to use svn diff, you have to svn add the new files first!)
> > > > >
> > > > > Also, are you planning to work on _abcoll.py and the changes to 
> > > > > collections.py?
> > > > >
> > > > > --Guido
> > > > >
> > > > > On 8/26/07, Benjamin Aranguren <[EMAIL PROTECTED]> wrote:
> > > > > > We copied abc.py and test_abc.py from py3k svn and modified to work 
> > > > > > with 2.6.
> > > > > >
> > > > > > After making all the changes we ran all the tests to ensure that no
> > > > > > other modules were affected.
> > > > > >
> > > > > > Attached are abc.py, test_abc.py, and their relevant patches from 
> > > > > > 3.0 to 2.6.
> > > > > >
> > > > > > On 8/25/07, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> > > > > > > Um, that patch contains only the C code for overloading 
> > > > > > > isinstance()
> > > > > > > and issubclass().
> > > > > > >
> > > > > > > Did you do anything about abc.py and _abcoll.py/collections.py and
> > > > > > > their respective unit tests? Or what about the unit tests for
> > > > > > > isinstance()/issubclass()?
> > > > > > >
> > > > > > > On 8/25/07, Benjamin Aranguren <[EMAIL PROTECTED]> wrote:
> > > > > > > > Worked with Alex Martelli at the Goolge Python Sprint.
> > > > > > >
> > > > > > > --
> > > > > > > --Guido van Rossum (home page: http://www.python.org/~guido/)
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > --Guido van Rossum (home page: http://www.python.org/~guido/)
> > > > >
> > > >
> > >
> > _______________________________________________
> > Python-3000 mailing list
> > Python-3000@python.org
> > http://mail.python.org/mailman/listinfo/python-3000
> > Unsubscribe: 
> > http://mail.python.org/mailman/options/python-3000/guido%40python.org
> >
>
>
> --
> --Guido van Rossum (home page: http://www.python.org/~guido/)
>
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to