id summary reporter owner description type status milestone component version severity resolution keywords cc 12493 Compile error in boost::intrusive with Sun compiler 12.4 kilian.kilger@… Ion Gaztañaga "When trying to compile the unit tests in boost::container, I get compile errors in boost/intrusive/detail/to_raw_pointer.hpp on Sun with the 12.4 Sun Studio compiler in non-C++11 mode when using the ancient STLport 4.5. ""/boost/intrusive/detail/to_raw_pointer.hpp"", line 41: Error: Variable p of type void*const is not a structure. ""/boost/container/detail/multiallocation_chain.hpp"", line 66: Where, temwhileinst: While instantiating ""boost::intrusive::detail::to_raw_pointer(void*const&)"". ""/boost/boost/container/detail/multiallocation_chain.hpp"", line 66: Where, teminstend: Instantiated from non-template code. For me it seems that the Sun compiler picks the wrong overload here. Why is the code there not ""disambiguated"" via boost::enable_if? The following code seems to work: template inline typename boost::intrusive::pointer_element::type* to_raw_pointer(const Pointer &p, typename boost::disable_if >::type * = 0) { ... } At least, the unit tests are running. The code in this file did not change in this regards in Boost 1.61. " Bugs new To Be Determined intrusive Boost 1.58.0 Problem