I work on one project that has been using thrift-0.8.0 and I am updating it to 0.9.3. The project defines streaming operators for "operator <<" on a variety of thrift-generated types.
The fix added in
THRIFT-2067 provides similar but not identical functionality however it was done in a way that cannot be overridden, and this causes projects upgrading from versions prior to 0.9.2 with their own streaming operators to fail to compile.
One way to make the streaming operator virtual is to follow the example provided in http://stackoverflow.com/questions/5189614/operator-and-inheritance