id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7079,addressof a boost::function and SolarisStudio compiler,Luke Elliott ,viboes,"This: {{{ #include #include int main() { boost::function pFunc; boost::addressof(pFunc); return 0; } }}} fails with: CC address-of.cpp -I/path/to/boost -library=stlport4 "".../addressof.hpp"", line 61: Error: Could not find a match for boost::detail::addressof_impl>::f(boost::detail::addr_impl_ref>, int) needed in boost::addressof>(boost::function&). ""address-of.cpp"", line 8: Where: While instantiating ""boost::addressof>(boost::function&)"". ""address-of.cpp"", line 8: Where: Instantiated from non-template code. Handily the existing workaround in addressof.hpp fixes it if extended to check for Sun... {{{ template T * addressof( T & v ) { #if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC ) return Boost::detail::addressof_impl::f( v, 0 ); #else return Boost::detail::addressof_impl::f( Boost::detail::addr_impl_ref( v ), 0 ); #endif } }}} Compiler info: {{{ CC -V CC: Sun C++ 5.12 SunOS_i386 2011/11/16 }}} I'm not sure if this is really the correct solution (addressof_test passes), but I hope it is of some use! Regards Luke Elliott. ",Bugs,closed,Boost 1.54.0,utility,Boost 1.50.0,Problem,fixed,,