id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9619,Deserialization of deep object tree fails on VS2012 when a templated function is called in the same cpp file,Yodan Tauber ,Robert Ramey,"When using Visual Studio 2012, error C2996 (""recursive function template definition"") is reported by the compiler when all of the following conditions apply: 1. A C++ object is deserialized using Boost Serialization somewhere in the *.cpp file. 2. The serialized object is ""deep enough"" (~5 levels - i.e. A contains a vector of B, B contains a vector of C, etc. until E). 3. Somewhere in the same *.cpp file (not necessarily in the same function), some templated function is called. The error is no longer reported if the object is changed to be more ""shallow"". The error is no longer reported if the call to the templated function is removed. This error does not reproduce in VS2010. It occurs in VS2012 as well as VS2013. Tested with Boost versions 1.49, 1.52, 1.55 - same problem. Note: while this may be caused by an underlying bug in VS2012 (and I have opened an issue with Microsoft Connect regarding this), I think we need a workaround within Boost, as the chances that Microsoft will fix this are slim at best. Note: about to attach a cpp file which reproduces the problem.",Bugs,closed,To Be Determined,serialization,Boost 1.55.0,Problem,invalid,,