id summary reporter owner description type status milestone component version severity resolution keywords cc 3241 Patch for convenience.hpp compatibility with STLport Andrey Semashev Beman Dawes "The STLport has optimization for std::string so that string concatenation via operator+ does not yield an std::string object but rather a template expression temporary object of an internal type. This optimization breaks compilation of the convenience.hpp header on MSVC 9, at least. In the change_extension function the concatenation result is passed to operator/, which causes the following error: {{{ .\boost/filesystem/convenience.hpp(84) : error C2679: binary '/' : no operator found which takes a right-hand operand of type 'stlp_std::priv::__bstr_sum<_CharT,_Traits,_Alloc,_Left,_Right,_StorageDirection>' (or there is no acceptable conversion) with [ _CharT=char, _Traits=stlp_std::char_traits, _Alloc=stlp_std::allocator, _Left=stlp_std::priv::__bstr_wrapper,stlp_std::allocator>, _Right=stlp_std::priv::__bstr_sum,stlp_std::allocator,stlp_std::priv::__bstr_wrapper,stlp_std::allocator>,stlp_std::priv::__sum_storage_elem,stlp_std::allocator>,stlp_std::priv::__on_right>, _StorageDirection=stlp_std::priv::__on_right ] }}} The attached patch resolves the problem. " Bugs closed Boost 1.40.0 filesystem Boost 1.39.0 Problem fixed stlport change_extension