Index: signals2/detail/signal_template.hpp =================================================================== --- signals2/detail/signal_template.hpp (revision 89044) +++ signals2/detail/signal_template.hpp (revision 89045) @@ -401,7 +401,7 @@ }; // Destructor of invocation_janitor does some cleanup when a signal invocation completes. // Code can't be put directly in signal's operator() due to complications from void return types. - class invocation_janitor + class invocation_janitor : noncopyable { public: typedef BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) signal_type; Index: function_output_iterator.hpp =================================================================== --- function_output_iterator.hpp (revision 89044) +++ function_output_iterator.hpp (revision 89045) @@ -30,7 +30,7 @@ explicit function_output_iterator(const UnaryFunction& f) : m_f(f) {} - struct output_proxy { + struct output_proxy : noncopyable { output_proxy(UnaryFunction& f) : m_f(f) { } template output_proxy& operator=(const T& value) { m_f(value);