Message12460

Author jeff.allen
Recipients bmvanwyk, jeff.allen, tomluk, wfouche2, zyasoft
Date 2019-04-27.11:32:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1556364731.63.0.419140037981.issue2445@roundup.psfhosted.org>
In-reply-to
Content
Thanks @Jim. I realised this was yours, so thanks for the look over.

I don't see anything non-deterministic, e.g. iterating a HashSet. From a certain perspective the MRO is unstable since we have changed it for the next release. I would say it is closer to Java ordering, but there are aspects Java that make me think there is no "correct MRO" reproducing it exactly.

This whole issue raises questions for me about the correct relationship between Java classes and their Python proxies. Users (and we ourselves) tend to assume the inheritance relationships must carry over exactly, and whilst we can approximate that expectation, there is a line beyond which Python is different and it isn't a bug or a TypeError. We have not been clear where the line runs.

Speaking of test_diamond_inheritance_of_iterable_and_map, can you explain the comment:

"Also instead of directly importing, which would cause annoying bloat in javatests by making lots of little files, just match using str - this will still be stable/robust."

By the time we make an MRO, we've loaded and exposed all the classes and methods involved, so I'm not sure where the additional "little files" come in (or little objects). I'm going to stick with the string approach anyway and simply find the class names.
History
Date User Action Args
2019-04-27 11:32:11jeff.allensetmessageid: <1556364731.63.0.419140037981.issue2445@roundup.psfhosted.org>
2019-04-27 11:32:11jeff.allensetrecipients: + jeff.allen, zyasoft, tomluk, bmvanwyk, wfouche2
2019-04-27 11:32:11jeff.allenlinkissue2445 messages
2019-04-27 11:32:11jeff.allencreate