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,