Avi Flamholz created THRIFT-1772: ------------------------------------ Summary: Serialization does not check types of embedded structures. Key: THRIFT-1772 URL: https://issues.apache.org/jira/browse/THRIFT-1772 Project: Thrift Issue Type: Bug Components: Python - Library Affects Versions: 0.9, 0.8 Reporter: Avi Flamholz
Consider the following struct definitions: struct Point { 1: required double x; 2: required double y; } struct Review { 1: required i32 rating; 2: optional string text; } struct Place { 1: required string name; 2: required Point location; 3: optional Review review; } If I create a Place object and set the location field to a Review, it will serialize no problem. place = Place(name="avi's place", location=Review(rating=1.0)) transportOut = TTransport.TMemoryBuffer() protocolOut = TBinaryProtocol.TBinaryProtocol(transportOut) place.write(protocolOut) serialized = transportOut.getvalue() This is confusing because if I set an i32 field to a string serialization does raise an error. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira