Jelle Zijlstra created THRIFT-4002:
--------------------------------------

             Summary: Thrift exceptions are not hashable in Python 3
                 Key: THRIFT-4002
                 URL: https://issues.apache.org/jira/browse/THRIFT-4002
             Project: Thrift
          Issue Type: Bug
          Components: Python - Compiler
            Reporter: Jelle Zijlstra


The Thrift-to-Python compiler generates `__eq__` but not `__hash__` for Thrift 
exception classes, which makes them not hashable in Python 3. Due to 
http://bugs.python.org/issue28603, this can lead the Python standard library to 
throw an error while printing tracebacks involving Thrift exceptions.

The attached patch generates `__hash__` for Thrift exceptions. This can 
technically be incorrect since Thrift exceptions are mutable (compare 
https://issues.apache.org/jira/browse/THRIFT-162), but in practice it seems 
unlikely that people would mutate exception instances other than directly after 
creating them, and without this patch some Thrift exceptions cannot be 
displayed by the standard library.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to