id summary reporter owner description type status milestone component version severity resolution keywords cc 6237 unordered_set behaves differently from 1.46 to 1.48 Chris Meyer Daniel James "The following code runs OK on 1.46 but fails on 1.48. The correct output is ""1"". {{{ // gcc -Iboost -lstdc++ test1.cpp #include #include #include namespace ns { typedef boost::shared_ptr cptr; typedef boost::unordered_set cset; class c { public: c() { } }; bool operator==(const cptr &c1, const cptr &c2) { return true; } } int main(int argc, char **argv) { ns::cptr bb1(new ns::c()); ns::cptr bb2(new ns::c()); ns::cset cs; cs.insert(boost::dynamic_pointer_cast(bb1)); cs.insert(boost::dynamic_pointer_cast(bb1)); cs.insert(boost::dynamic_pointer_cast(bb2)); cs.insert(boost::dynamic_pointer_cast(bb2)); std::cout << ""This should be 1: "" << cs.size() << std::endl; } }}} I'm using Xcode 4.2 / gcc on 10.6.8. i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00) " Bugs closed To Be Determined unordered Boost 1.48.0 Regression invalid