In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp: In instantiation of ‘static R boost::detail::function::function_obj_invoker1::invoke(boost::detail::function::function_buffer&, T0) [with FunctionObj = boost::factory; R = TestClass*; T0 = int]’: /home/clone2727/boost-git/boost/function/function_template.hpp:936:38: required from ‘void boost::function1::assign_to(Functor) [with Functor = boost::factory; R = TestClass*; T0 = int]’ /home/clone2727/boost-git/boost/function/function_template.hpp:727:7: required from ‘boost::function1::function1(Functor, typename boost::enable_if_c<(! boost::is_integral::value), int>::type) [with Functor = boost::factory; R = TestClass*; T0 = int; typename boost::enable_if_c<(! boost::is_integral::value), int>::type = int]’ /home/clone2727/boost-git/boost/function/function_template.hpp:1072:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c<(! boost::is_integral::value), int>::type) [with Functor = boost::factory; R = TestClass*; T0 = int; typename boost::enable_if_c<(! boost::is_integral::value), int>::type = int]’ boost_factory_bug.cpp:10:82: required from here /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: error: no match for call to ‘(boost::factory) (int)’ return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: boost::factory::result_type boost::factory::operator()() const [with Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u; boost::factory::result_type = TestClass*] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate expects 0 arguments, 1 provided In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: boost::factory::result_type boost::factory::operator()(T0&) const [with T0 = int; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u; boost::factory::result_type = TestClass*] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: conversion of argument 1 would be ill-formed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: error: invalid initialization of non-const reference of type ‘int&’ from an rvalue of type ‘int’ return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:57:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&) const [with T0 = T0; T1 = T1; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 2 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:62:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&) const [with T0 = T0; T1 = T1; T2 = T2; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 3 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:67:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 4 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:72:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&, T4&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; T4 = T4; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 5 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:77:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&, T4&, T5&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; T4 = T4; T5 = T5; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 6 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:82:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&, T4&, T5&, T6&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; T4 = T4; T5 = T5; T6 = T6; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 7 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:87:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&, T4&, T5&, T6&, T7&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; T4 = T4; T5 = T5; T6 = T6; T7 = T7; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 8 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:92:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; T4 = T4; T5 = T5; T6 = T6; T7 = T7; T8 = T8; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 9 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^ In file included from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:97:0, from /home/clone2727/boost-git/boost/functional/factory.hpp:65, from boost_factory_bug.cpp:2: /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: candidate: template boost::factory::result_type boost::factory::operator()(T0&, T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&, T9&) const [with T0 = T0; T1 = T1; T2 = T2; T3 = T3; T4 = T4; T5 = T5; T6 = T6; T7 = T7; T8 = T8; T9 = T9; Pointer = TestClass*; boost::factory_alloc_propagation AP = (boost::factory_alloc_propagation)0u] inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const ^ /home/clone2727/boost-git/boost/functional/factory.hpp:155:24: note: template argument deduction/substitution failed: In file included from /home/clone2727/boost-git/boost/function/detail/maybe_include.hpp:18:0, from /home/clone2727/boost-git/boost/function/detail/function_iterate.hpp:14, from /home/clone2727/boost-git/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /home/clone2727/boost-git/boost/function.hpp:64, from boost_factory_bug.cpp:1: /home/clone2727/boost-git/boost/function/function_template.hpp:138:22: note: candidate expects 10 arguments, 1 provided return (*f)(BOOST_FUNCTION_ARGS); ^