id summary reporter owner description type status milestone component version severity resolution keywords cc 2755 compile error in boost_intrusive 1.38.0: a set of classes with protected destructor fmot.fics@… Ion Gaztañaga "the following short code generates a compiler error: #include #include #include using namespace boost::intrusive; struct node_t : set_base_hook > { bool operator < (const node_t& right) const; protected: ~node_t(); }; int main(int argc, char* argv[]) { set nodes; nodes.insert(* new node_t); return 0; } // end of code reason of compiler error: in /boost/intrusive/detail/mpl.hpp, line 69: static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); trigger() function (line 67) returns an instance, thus forcing a compiler to look for destructor. it the sample above the destructor is protected, so it can't be accessed. suggested solution: in /boost/intrusive/detail/mpl.hpp, line 67: static const T& trigger(); boost 1.37.0 had no such problem best regards, vlad fmot.fics@gmail.com" Bugs closed Boost 1.39.0 intrusive Boost 1.38.0 Problem fixed intrusive is_convertible destructor