THRIFT-162 Thrift structures are unhashable, preventing them from being used as set elements
Client: Python
Patch: David Reiss, Nobuaki Sukegawa
This closes #714
diff --git a/test/DebugProtoTest.thrift b/test/DebugProtoTest.thrift
index 50ae4c1..e7119c4 100644
--- a/test/DebugProtoTest.thrift
+++ b/test/DebugProtoTest.thrift
@@ -72,11 +72,15 @@
}
struct Empty {
-}
+} (
+ python.immutable = "",
+)
struct Wrapper {
1: Empty foo
-}
+} (
+ python.immutable = "",
+)
struct RandomStuff {
1: i32 a,
@@ -153,9 +157,9 @@
42: map<byte, binary> byte_binary_map;
43: map<byte, bool> byte_boolean_map;
// collections as keys
- 44: map<list<byte>, byte> list_byte_map;
- 45: map<set<byte>, byte> set_byte_map;
- 46: map<map<byte,byte>, byte> map_byte_map;
+ 44: map<list<byte> (python.immutable = ""), byte> list_byte_map;
+ 45: map<set<byte> (python.immutable = ""), byte> set_byte_map;
+ 46: map<map<byte,byte> (python.immutable = ""), byte> map_byte_map;
// collections as values
47: map<byte, map<byte,byte>> byte_map_map;
48: map<byte, set<byte>> byte_set_map;