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,