id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3339,intrusive containers vs. Sun CC,Christopher Hite ,Ion Gaztañaga,"Intrusive doesn't not work at all with SunCC. The regression tests were turned off. I'm not sure if it fixes everything, but I was able debug some of the meta-programming and find a discrepancy between gcc and Sun CC which causes normal usage to break. http://www.boost.org/doc/libs/1_39_0/boost/intrusive/detail/utilities.hpp {{{ template struct internal_base_hook_bool { template struct two_or_three {one _[2 + Add];}; template static one test(...); template static two_or_three test (detail::bool_* = 0); static const std::size_t value = sizeof(test(0)); }; }}} On gcc it does what it's suppose to; value = [[BR]] 1 - iff T has no boost_intrusive_tags::is_base_hook [[BR]] 2 - iff T::boost_intrusive_tags::is_base_hook=false [[BR]] 3 - iff T::boost_intrusive_tags::is_base_hook=true [[BR]] On Sun CC it's always 1. So this is a usage of SFINAE which doesn't seem to work on SunCC, but other examples do work just fine: class_has_move_assign here: http://www.boost.org/doc/libs/1_38_0/boost/unordered/detail/move.hpp[[BR]]  Note how they use a second test(int) function. This works fine on Sun CC! So I would suggest changing this in the few places in intrusive where SFINAE is used. Perhaps intrusive will then work on the latest Sun CC (which supposedly supports (mostly) MPL). Do you have a Sun environment to run the regression tests?",Bugs,closed,Boost 1.40.0,intrusive,Boost 1.39.0,Problem,fixed,,