Open navytux opened 6 years ago
About the second crash -- see https://github.com/kisielk/og-rek/issues/30#issuecomment-423803200 -- it seems likely we will have to rework our "value can be used as dict key" logic from reflect.Type.Comparable
into using panic/recover.
I think to the possible extent this issue is fixed by PyDict mode: https://github.com/kisielk/og-rek/commit/3bf6c92de63baa92d07a9e85edab0ae017fd9eb7 (https://github.com/kisielk/og-rek/pull/75).
If tuple is used directly, for example:
our Decoder gives:
However the pickle is valid by Python rules because there tuple is immutable (and thus hashable).
However the check inside Decoder is not complete - for example if we hook Tuple into another type whos is comparable (e.g. Ref here):
our Decoder crashes: