http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47417
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|rejects-valid | Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-25 12:51:09 UTC --- Boost trunk seems to have the same problem still, so this is a bug in Boost: unordered_map has no copy constructor when BOOST_HAS_RVALUE_REFS is defined you could workaround it with a user-provided copy constructor: S(const S& s) : m_(s.m_, s.m_.get_allocator()) { }