id summary reporter owner description type status milestone component version severity resolution keywords cc 11699 Forward declarations of std templates causes stack corruption under Visual Studio 2015 Attila Mitrócsák Ion Gaztañaga " In Visual Studio 2015 it can lead to stack corruption if I instantiate std::basic_istream with the same types in two compilation units, and one of them forward declares the template and the other doesn't. I originally run into this problem when I called a funtion in a library that called boost::lexical_cast. The source file containing the function included a header from interprocess, which included interprocess/detail/std_fwd.hpp which contains a forward declaration of std::basic_istream. Unfortunately std::basic_istream was also instatiated with the same types in my main program (but there was no forward declaration). I presume this can happen with other templates as well, but so far this is the only one I found. The same code was working fine with Visual Studio 2013. I created two small solutions: - BoostStackCorruption_VS2015: using boost::lexical_cast and an interprocess header - StdStackCorruption_VS2015: using only std but with lines coming from the insides of lexical_cast and interprocess/detail/std_fwd.hpp " Bugs closed To Be Determined interprocess Boost 1.59.0 Problem fixed