[Bug libstdc++/23465] Assignment fails on TR1 unordered containers

chris at bubblescope dot net gcc-bugzilla@gcc.gnu.org
Thu Aug 18 17:48:00 GMT 2005


------- Additional Comments From chris at bubblescope dot net  2005-08-18 17:26 -------
The following simple piece of code fails to compile.

#include <tr1/unordered_set>

int main(void)
{
  std::tr1::unordered_set<int> i,j;
 i = j;
}

The error is in fact in <tr1/hashtable>, and as all the unordered containers inherit from here, the bug 
is in all of them.

There are two main reasons for this lack of compiling.

Firstly, hash_code_base::m_swap calls m_swap on various elements, most of which don't have a swap 
member function. Changing these calls to swap fixes that, and does what the code should.

The second compilation error is on line 1275,  hashtable::hashtable, where the member function 
copy_code_from is called on a pointer. I'm not however sure what this function is supposed to do. If no 
hashtable experts pop up, I intend to try to figure out how this functions works and how it should..

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23465



More information about the Gcc-bugs mailing list