Subject: [Boost-bugs] [Boost C++ Libraries] #5178: boost::exception uses invalid C++ code
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-02-11 00:04:49
#5178: boost::exception uses invalid C++ code
-------------------------------------+--------------------------------------
Reporter: chrisj | Owner: emildotchevski
Type: Bugs | Status: new
Milestone: To Be Determined | Component: exception
Version: Boost Development Trunk | Severity: Problem
Keywords: |
-------------------------------------+--------------------------------------
boost::exception uses a
std::map<type_info_, shared_ptr<error_info_base> > in
error_info_container_impl. This map is copied in clone(). However,
type_info_ contains a member which is a reference, so it is not copyable.
The standard says that you can only copy a std::map<T,U> if both T and U
are copyable. Some standard libraries don't make use of this requirement,
but libc++ does.
The easiest fix to this would be to make type_info_ take it's reference
member instead by pointer, and make it copyable.
Before I prepare a full patch, I wondered if anyone had any comments, as
this is a fairly big change to boost::exception
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5178> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC