id summary reporter owner description type status milestone component version severity resolution keywords cc 9424 Build failures using unordered and Sun 5.12 compiler lukester_null@… Daniel James " {{{ #include int main(int argc, char *argv[]) { return 0; } }}} Yields {{{ ""../boost_1_55_0/boost/unordered/detail/allocate.hpp"", line 908: Error: Templates can only declare classes or functions. ""../boost_1_55_0/boost/unordered/detail/allocate.hpp"", line 908: Error: Templates can only declare classes or functions. ""../boost_1_55_0/boost/unordered/detail/allocate.hpp"", line 908: Error: Templates can only declare classes or functions. ""../boost_1_55_0/boost/unordered/detail/allocate.hpp"", line 908: Error: }}} Looks like the scoping of the length template is wrong: {{{ --- allocate.hpp-orig 2013-11-22 15:36:29.556400000 +0000 +++ allocate.hpp 2013-11-22 15:50:13.154595000 +0000 @@ -879,7 +879,7 @@ # define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_) \ template \ void construct_from_tuple_impl( \ - boost::unordered::detail::length<0>, Alloc&, T* ptr, \ + boost::unordered::detail::func::length<0>, Alloc&, T* ptr, \ namespace_ tuple<>) \ { \ new ((void*) ptr) T(); \ @@ -892,7 +892,7 @@ template \ void construct_from_tuple_impl( \ - boost::unordered::detail::length, Alloc&, T* ptr, \ + boost::unordered::detail::func::length, Alloc&, T* ptr, \ namespace_ tuple const& x) \ { \ new ((void*) ptr) T( \ @@ -921,7 +921,7 @@ void construct_from_tuple(Alloc& alloc, T* ptr, Tuple const& x) { construct_from_tuple_impl( - boost::unordered::detail::length< + boost::unordered::detail::func::length< boost::tuples::length::value>(), alloc, ptr, x); } }}} Thanks Luke Elliott. " Bugs closed To Be Determined unordered Boost 1.55.0 Problem fixed