Index: boost/assign/list_of.hpp =================================================================== --- boost/assign/list_of.hpp (revision 73527) +++ boost/assign/list_of.hpp (working copy) @@ -430,7 +430,14 @@ return range( boost::begin(r), boost::end(r) ); } - template< class Container > + template + < + class Container +#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS + , class Dummy1 = typename Container::difference_type + , class Dummy2 = typename Container::iterator +#endif + > operator Container() const { return this-> BOOST_NESTED_TEMPLATE convert_to_container(); @@ -566,7 +573,14 @@ return range( boost::begin(r), boost::end(r) ); } - template< class Container > + template + < + class Container +#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS + , class Dummy1 = typename Container::difference_type + , class Dummy2 = typename Container::iterator +#endif + > operator Container() const { return this-> BOOST_NESTED_TEMPLATE convert_to_container(); Index: libs/assign/test/list_inserter.cpp =================================================================== --- libs/assign/test/list_inserter.cpp (revision 73527) +++ libs/assign/test/list_inserter.cpp (working copy) @@ -64,7 +64,11 @@ make_list_inserter( functor() )( 4 ),2; typedef void (vector::* push_back_t)(const int&); +#if BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ == 3) && defined(__GXX_EXPERIMENTAL_CXX0X__) + push_back_t push_back_func = &vector::push_back; +#else push_back_t push_back_func = &vector::push_back; +#endif make_list_inserter( boost::bind( push_back_func, &v, _1 ) )( 6 ),4; BOOST_CHECK_EQUAL( v.size(), 2u ); Index: libs/assign/test/std.cpp =================================================================== --- libs/assign/test/std.cpp (revision 73527) +++ libs/assign/test/std.cpp (working copy) @@ -75,7 +75,7 @@ -typedef pair tuple; +typedef pair two; template< class C > void test_tuple_sequence() @@ -151,14 +151,14 @@ test_string_sequence< queue >(); test_string_sequence< priority_queue >(); - test_tuple_sequence< deque >(); - test_tuple_sequence< list >(); - test_tuple_sequence< vector >(); - test_tuple_sequence< set >(); - test_tuple_sequence< multiset >(); - test_tuple_sequence< stack >(); - test_tuple_sequence< queue >(); - test_tuple_sequence< priority_queue >(); + test_tuple_sequence< deque >(); + test_tuple_sequence< list >(); + test_tuple_sequence< vector >(); + test_tuple_sequence< set >(); + test_tuple_sequence< multiset >(); + test_tuple_sequence< stack >(); + test_tuple_sequence< queue >(); + test_tuple_sequence< priority_queue >(); test_tuple(); deque di;