Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10100: [signals2] trackable fails to disconnect slot on deletion
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-11-06 06:45:51
#10100: [signals2] trackable fails to disconnect slot on deletion
-------------------------------+----------------------
Reporter: wim@⦠| Owner: fmhess
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: signals2
Version: Boost 1.55.0 | Severity: Problem
Resolution: fixed | Keywords:
-------------------------------+----------------------
Comment (by Evangelos Foutras <evangelos@â¦>):
The fix for this issue causes at least Wt and Hugin not to build with
boost 1.57.0 (1.56.0 works fine).
In the case of Wt, it does:
{{{
#include <boost/signals2/trackable.hpp>
#include <boost/signals2.hpp>
}}}
Putting that in a test.cpp and trying to compile it with 'g++ -c test.cpp'
results in:
{{{
In file included from test.cpp:1:0:
/usr/include/boost/signals2/trackable.hpp: In member function
âboost::weak_ptr<boost::signals2::detail::trackable_pointee>
boost::signals2::trackable::get_weak_ptr() constâ:
/usr/include/boost/signals2/trackable.hpp:49:7: error: return type âclass
boost::weak_ptr<boost::signals2::detail::trackable_pointee>â is incomplete
{
^
In file included from /usr/include/boost/signals2/slot.hpp:22:0,
from /usr/include/boost/signals2/connection.hpp:23,
from /usr/include/boost/signals2/signal.hpp:21,
from /usr/include/boost/signals2.hpp:19,
from test.cpp:2:
/usr/include/boost/signals2/detail/tracked_objects_visitor.hpp: In member
function âvoid
boost::signals2::detail::tracked_objects_visitor::add_if_trackable(const
boost::signals2::trackable*) constâ:
/usr/include/boost/signals2/detail/tracked_objects_visitor.hpp:85:72:
error: invalid use of void expression
slot_->_tracked_objects.push_back(trackable->get_weak_ptr());
^
}}}
If I flip the two include directives around, it compiles fine.
Is this something that can be fixed in boost or would it be considered a
bug in downstream apps (even though it used to work before boost 1.57.0)?
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10100#comment:7> 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:17 UTC