id summary reporter owner description type status milestone component version severity resolution keywords cc 9718 boost::container::string assignment operator problem Piotr Sulecki Ion Gaztañaga "The following code compiles with std::string, but fails to with boost::container::string. The error message is: {{{ stringtest.cpp: In function ‘int main()’: stringtest.cpp:21:5: error: no match for ‘operator=’ (operand types are ‘Msg’ and ‘const Msg’) y = x; // ok with std::string, compilation error with boost::container::string ^ stringtest.cpp:21:5: note: candidate is: stringtest.cpp:7:8: note: Msg& Msg::operator=(Msg&) struct Msg ^ stringtest.cpp:7:8: note: no known conversion for argument 1 from ‘const Msg’ to ‘Msg&’ }}} ...which suggests the assignment operator generated for Msg takes only a Msg reference, not a const one. Boost 1.53.0 under Cygwin64, compiled using g++ (GCC) 4.8.1. {{{ #include #include // using namespace std; using namespace boost::container; struct Msg { public: string msg; }; int main() { const string a(""hello""); string b; b = a; // ok const Msg x; Msg y; y = x; // ok with std::string, compilation error with boost::container::string return 0; }; }}}" Bugs closed To Be Determined container Boost 1.53.0 Problem fixed